消息部分MyClass未被识别。 (它是否存在于服务WSDL中?)

时间:2016-10-21 10:15:44

标签: java spring web-services soap wsdl

我想创建一个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

如果我可以显示一段代码或设置,但现在我不知道在这里添加什么

1 个答案:

答案 0 :(得分:2)

您正在调用一个不存在的操作(PerformTransactionArguments)。第一个查询(PerformTransaction)工作正常,因为您可能已经在wsdl合同中拥有它。