python调用siebel的webservice(2种方法)

这篇博客介绍了如何使用Python调用Siebel的Webservice接口,包括两种方法:一种是借助httplib模块,另一种是利用SOAPpy模块,通过解析本地Wsdl文件。在过程中遇到了v1标签问题和SOAP Header的编码风格问题,最终通过代码调整解决了问题。
摘要由CSDN通过智能技术生成

目前主要在维护的系统是siebel,其实时接口方式基本都是webservice,而其中又以inbound接口居多。外系统技术开发人员在初次对接siebel接口时,经常会遇问我怎么写siebel接口,无奈我也不了解java,.net等技术也帮不上忙。正好最近在学习python,就来尝试一下调用siebel的webservice接口。

通过这一两天的摸索,通过2种方式实现了siebel webservice的调用。第一种方式是最基础的,使用httplib模块,此种方式不需要本地wsdl文件。贴代码吧

import sys, httplib

SM_TEMPLATE = """<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<SOAP-ENV:Body>
		<m:Query xmlns:m="http://siebel.com/asi/BYM">
			<ContactId xsi:type="xsd:string">%s</ContactId>
		</m:Query>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
"""
SoapMessage = SM_TEMPLATE%("1-IO8-2667")

webservice = httplib.HTTP("110.100.108.131")
webservice.putrequest("POST", "/eai_anon_chs/start.swe?SWEExtSource=AnonWebService&SWEExtCmd=Execute HTTP/1.0")
webservice.putheader("Host", "110.100.108.131")
webservice.putheader("User-Agent", "Python post")
webservice.putheader("Content-type", "text/xml; charset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值