有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Axis2创建没有OMNamespace的OmeElement

在我的wsdl文件中,我有以下部分

<s:element maxOccurs="1" minOccurs="0" name="Request">
<s:complexType>
<s:sequence>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>

因此,我为这个wsdl生成了axis2存根,并创建它来请求这个类的元素

Request_type0 rqType0 = new Request_type0();

只有方法rqType0.setExtraElement(OMElement);

我需要发出这样的请求

     <web:Request>
        <test1>
           <t>1</t>
        </test1>
        <test2>
           <t>2</t>
        </test2>
     </web:Request>

请帮帮我


共 (1) 个答案

  1. # 1 楼答案

    根据我对XML模式的理解,您的wsdl代码片段指出,在请求元素下面,任何类型的元素只能有一个。对于任何类型的更多元素,any元素声明中应该有maxOccurs=“unbounded”
    另请参见此链接以了解更多解释:http://www.w3schools.com/schema/el_any.asp

    要创建OmeElement,可以使用以下代码:

    OMFactory fac = OMAbstractFactory.getOMFactory();
    OMElement test1 = fac.createOMElement("test1", "", "");
    OMElement t1 = fac.createOMElement("t", "", "");
    
    t1.setText("1");
    test1.addChild(t1);
    

    希望这有帮助。:)