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

Ulu*_*yev 5 java spring soap wsdl web-services

我想创建一个 Web 服务,并基于一个工作项目创建项目。它适用于 Storm 和 Boomerang-SOAP & REST Client。Boomerang 生成这样的请求:

<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>
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我必须得到以下请求:

<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>
Run Code Online (Sandbox Code Playgroud)

当我使用对 Web 服务的第二个请求进行测试时,它不断收到错误:

Message part PerformTransactionArguments was not recognized. (Does it exist in service WSDL?)

wsdl类中写为performTransactionArguments. 我不知道如何解决这个问题(这是我第一次遇到soap& wsdl)。我已经白费了大约一个星期,所以请帮我解决问题

我发现了很多类似的问题,但我没有找到任何解决方案。其中之一:尝试调用网络服务时出现异常

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

Õzb*_*bek 3

您正在调用一个PerformTransactionArguments不存在的操作( )。第一个 query( PerformTransaction) 工作正常,因为您可能已经将它包含在您的 wsdl 合约中。