用于在JAVA类中初始化对象值的SOAP XML请求
我正在学习以下JAVA类:用于在JAVA类中初始化对象值的SOAP XML请求,java,soap,soapui,soap-client,Java,Soap,Soapui,Soap Client,我正在学习以下JAVA类: @WebService() @SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL, parameterStyle = ParameterStyle.BARE) public class Demo extends JaxWsWebService { @WebMethod(operationName = "createMethod") @WebResult(targetNamespace = "xyz.com/")
@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
}
}
现在,我使用下面的SOAP XML请求调用上述JAVA方法:
<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>
12345
abcd
现在,当我使用SOAP客户机调用SOAP请求时,调用成功并进入JAVA方法,但主要问题是“Testing”类的“testingData”实例没有得到初始化
因此,我在JAVA方法中将'xId'和'name'变量的值设置为NULL。关于这一点的任何建议都会很有帮助,因为看起来我在SOAP请求调用中犯了错误,但无法找到答案
请建议。TIA找到了我出错的地方:
<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>
12345
abcd
在XML请求中,我删除了
开始和结束
标记,最后它开始为我工作。找到了我出错的地方:
<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>
12345
abcd
在XML请求中,我删除了
开始和结束
标记,最后它开始为我工作。SoapUI是否为您生成了该XML请求?我有点困惑,您有声明操作的注释,但在XML中,它只是用作数据类型。看看您的Java代码,我根本不认为应该有。我可能弄错了。Steen:createMethod必须被使用,否则它不会进入JAVA方法。我在测试bean中还有一些参数,我是否需要在我的SOAP请求中声明所有这些参数?首先,我将直接从Web服务本身导入生成的WSDL。SoapUI拥有WSDL后,它可以为您生成一个XML请求,该请求符合Web服务希望您发送给它的内容。@Steen:我有WSDL文件,并且已经导入了它。在此之后,我发送了一个特殊的请求,其中参数类“Testing”对象“testingData”没有初始化,它根据模式进行验证?那我想我帮不了你。这一定是服务器端的问题。对不起,SoapUI是否为您生成了XML请求?我有点困惑,您有声明操作的注释,但在XML中,它只是用作数据类型。看看您的Java代码,我根本不认为应该有。我可能弄错了。Steen:createMethod必须被使用,否则它不会进入JAVA方法。我在测试bean中还有一些参数,我是否需要在我的SOAP请求中声明所有这些参数?首先,我将直接从Web服务本身导入生成的WSDL。SoapUI拥有WSDL后,它可以为您生成一个XML请求,该请求符合Web服务希望您发送给它的内容。@Steen:我有WSDL文件,并且已经导入了它。在此之后,我发送了一个特殊的请求,其中参数类“Testing”对象“testingData”没有初始化,它根据模式进行验证?那我想我帮不了你。这一定是服务器端的问题。很抱歉