发帖

python做的webservice氚云连接不上

专业版问答  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2020-3-13

跳转到指定楼层
webservice地址:http://j300k69666.zicp.vip/?wsdl

我做的这个webservice是用python做的,地址由本地主机127.0.0.1经花生壳内网映射而来。

postman测试无误。

---------------附Python服务端代码----------------
  1. from spyne import Application, rpc, ServiceBase
  2. from spyne import Integer, Unicode, Array, ComplexModel, Iterable, String
  3. from spyne.protocol.soap import Soap11, Soap12
  4. from spyne.server.wsgi import WsgiApplication
  5. from wsgiref.**_server import make_server
  6. import json


  7. class H3yunWebService(ServiceBase):
  8.     @rpc(Unicode, _returns=Unicode)
  9.     def GetSchema(self, schemaCode):
  10.         schema = {}
  11.         return json.dumps(schema)

  12.     @rpc(_returns=Unicode)
  13.     def GetSchemaList(self):
  14.         schemaList = {}
  15.         return json.dumps(schemaList)

  16.     @rpc(Unicode, Unicode, Unicode, _returns=Unicode)
  17.     def GetList(self, userCode, schemaCode, filter):
  18.         results = {}
  19.         return json.dumps(results)

  20.     @rpc(Unicode, Unicode, Unicode, Unicode, _returns=Unicode)
  21.     def Invoke(self, userCode, schemaCode, methodName, param):
  22.         results = {"code":0}
  23.         return json.dumps(results)


  24. application = Application([H3yunWebService],
  25.                           'http://tempuri.org/',
  26.                           in_protocol=Soap11(validator='lxml'),
  27.                           out_protocol=Soap12())
  28. wsgi_application = WsgiApplication(application)

  29. if __name__ == '__main__':
  30.     import logging

  31.     host = '127.0.0.1'
  32.     port = 8000
  33.     logging.info("listening to http://127.0.0.1:8000")
  34.     logging.info("wsdl is at: http://localhost:8000/?wsdl")
  35.     server = make_server(host, port, wsgi_application)
  36.     server.serve_for**r()
复制代码
-----------postman测试------------------
请求raw数据:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
                <Invoke xmlns="http://tempuri.org/">
                        <userCode>jicheng</userCode>
                        <schemaCode>jicheng</schemaCode>
                        <methodName>get</methodName>
                        <param>{"jicheng":"jicheng"}</param>
                </Invoke>
        </soap:Body>

----------postman测试返回数据-------------
<?xml version='1.0' encoding='UTF-8'?>
<soap12env:Envelope xmlns:soap12env="http://www.w3.org/2003/05/soap-envelope" xmlns:tns="http://tempuri.org/">
    <soap12env:Body>
        <tns:InvokeResponse>
            <tns:InvokeResult>{"code": 0}</tns:InvokeResult>
        </tns:InvokeResponse>
    </soap12env:Body>
</soap12env:Envelope>


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具

北京知淘科技有限责任公司 发表于 2020-3-13 14:05:08
问题已经解决了。
解决办法:连接氚云的时候,webservice地址中去掉 ?wsdl
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|氚云社区 |粤ICP备15096637号-1
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.