我想创建一个Web服务,然后根据工作项目创建项目。它适用于Storm和Boomerang-SOAP& REST客户端。 回旋镖产生这样的请求:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wse="http://wservices.yt/">
<x:Header/>
<x:Body>
<wse:PerformTransaction>
<request>
<password>?</password>
<username>?</username>
<amount>0</amount>
<parameters>
<paramKey>?</paramKey>
<paramValue>?</paramValue>
</parameters>
<serviceId>0</serviceId>
<transactionId>0</transactionId>
<transactionTime>2016-10-19T00:00:00</transactionTime>
</request>
</wse:PerformTransaction>
</x:Body>
</x:Envelope>
这是正常的,但我必须得到以下请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns1:PerformTransactionArguments xmlns:ns1="http://wservices.yt/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns1:PerformTransactionArguments">
<password>12345</password>
<username>test</username>
<amount>150000</amount>
<parameters>
<paramKey>customer_id</paramKey>
<paramValue>6324357</paramValue>
</parameters>
<parameters>
<paramKey>pin</paramKey>
<paramValue>12345678</paramValue>
</parameters>
<serviceId>1</serviceId>
<transactionId>437</transactionId>
<transactionTime>2011-04-26T18:07:22</transactionTime>
</ns1:PerformTransactionArguments>
</soapenv:Body>
</soapenv:Envelope>
当我测试第二个Web服务请求时,它会一直出错:
Message part PerformTransactionArguments was not recognized. (Does it exist in service WSDL?)
在wsdl
中,该课程编写为performTransactionArguments
。我不知道如何解决这个问题(我第一次遇到soap
&amp; wsdl
)。我花了大约一个星期,所以请帮助我解决问题
我发现很多类似的问题,但我找不到任何解决方案。 其中之一:exception when trying to call webservice
如果我可以显示一段代码或设置,但现在我不知道在这里添加什么
答案 0 :(得分:2)
您正在调用一个不存在的操作(PerformTransactionArguments
)。第一个查询(PerformTransaction
)工作正常,因为您可能已经在wsdl合同中拥有它。