<xsd:element name="echodemo" type="EchodemoType">
<xsd:annotation>
<xsd:documentation>
Root element
</xsd:documentation>
</xsd:annotation>
这是我的XSD。
但是当我通过在RSA中选择生成java从xsd生成java对象时,它会生成EchodemoType.java .. 所以我在将请求传递给我的服务之前在下面创建了LIKE
EchodemoType request = new EchodemoType();
request.setEchoRequest("This is Echo String !!!");
request .setVersion(new BigDecimal("1.0"));
在调用我的webservice时看到如下所示的soap消息。
<EchodemoType version="1.0">
<ns2:echoRequest>This is Echo String !!!</ns2:echoRequest>
</EchodemoType>
基本上我想要肥皂消息开始标记元素名称&#34; echodemo&#34;相反,使用类型&#34; EchodemoType&#34;。我还希望它具有名称空间
<echodemo version="1.0" xmlns="http://test.com/api/test/services/echodemo">
<ns2:echoRequest>This is Echo String !!!</ns2:echoRequest>here
</echodemo>
请告诉我如何生成类以获取肥皂消息或我需要更正此消息?
答案 0 :(得分:0)
使用Object Factory来设置对象,如下所示,你不需要在DemoType.java中使用@XmlRootElement。
DemoType demoServiceRequest = new DemoType();
demoServiceRequest.setName("fgfg");
ObjectFactory obDemo = new ObjectFactory();
Request requestObject = new Request();
requestObject.setAny(obDemo.createDemo(demoServiceRequest));
在Request.java中添加DemoType类,如@XmlSeeAlso({DemoType.class})