Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在JAVA类中初始化对象值的SOAP XML请求_Java_Soap_Soapui_Soap Client - Fatal编程技术网

用于在JAVA类中初始化对象值的SOAP XML请求

用于在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/")

我正在学习以下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
}
}
现在,我使用下面的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”没有初始化,它根据模式进行验证?那我想我帮不了你。这一定是服务器端的问题。很抱歉