SOAP XML-запрос для инициализации значения объекта в классе JAVA - PullRequest
1 голос
/ 08 апреля 2019

У меня нижеуказанный класс JAVA:

@WebService()
@SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL, parameterStyle = ParameterStyle.BARE)
public class Demo extends JaxWsWebService
{
@WebMethod(operationName = "createMethod")
@WebResult(targetNamespace = "xyz.com/")
@RequestWrapper(localName = "Testing", targetNamespace = "xyz.com/", className = "com.Test")
public void createMethod(Testing testingData) throws SOAPException {

    System.out.println(" createMethod service --- xId = " + testingData.getXId() "); // xId is coming as NULL
    System.out.println(" createMethod service --- name = " + testingData.getName() "); // name is coming as NULL
}
}

Теперь я вызываю вышеуказанный метод JAVA, используя мой запрос SOAP XML, который приведен ниже:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:NS1="xyz.com/">
<x:Header/>
<x:Body>
<NS1:createMethod>
<NS1:Testing>
    <xId>12345</xId>
    <name>abcd</name>
</NS1:Testing>
</NS1:createMethod>
</x:Body>
</x:Envelope>

Теперь, когда я вызываю запрос SOAP с помощью клиента SOAP, вызов успешен и происходит внутри метода JAVA, но главная проблема заключается в том, что экземпляр «testingData» класса «Testing» не инициализируется.

Из-за этого я получаю значение переменной 'xId' и 'name' как NULL в моем методе JAVA. Любые предложения по этому вопросу были бы полезными, похоже, что я делаю ошибку в своем вызове SOAP-запроса, но не могу понять это.

Пожалуйста, предложите. TIA

1 Ответ

0 голосов
/ 10 апреля 2019

Получил место, где я ошибался:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:NS1="xyz.com/">
<x:Header/>
<x:Body>
<NS1:createMethod>
    <xId>12345</xId>
    <name>abcd</name>
</NS1:createMethod>
</x:Body>
</x:Envelope>

В XML-запросе я удалил начальные и конечные теги <NS1:Testing> и, наконец, он начал работать для меня.

...