To follow up, in case someone else bumps into this.

PayloadType PT = ...;
Foo foo = ...; // This is the thing I want to attach to PT

OMElement [] A = new OMElement [1];

A [0] = foo.getOMElement (Foo.MY_QNAME, OMAbstractFactory.getOMFactory ());

PT.setExtraElement (A);

OMElement, Foo.MY_QNAME, and the factory stuff are all
automatically generated by wsdl2java; only Foo and
PayloadType are application-specific.

Hope this helps someone who runs into a similar problem.

Robert Dodier


On Fri, Dec 20, 2013 at 5:27 PM, Robert Dodier <robert.dod...@gmail.com> wrote:
> Hello,
>
> I am working with Axis2 1.6.1. I have used wsdl2java to generate
> Java code from a WSDL. The WSDL for a certain type, named
> Payload, includes an "any" element, which in practice might be any
> of several types. (A third party constructed the WSDL and dictates
> conventional usage; I cannot change anything.) I want to construct
> a Payload object which contains a particular type of object, let's
> say Foo. I can construct a Foo object without any trouble. But the
> generated code for Payload doesn't have a setFoo method (not
> surprising, since Foo isn't specified in the description of Payload),
> and the only method for specifying a contained object takes an
> instance of a different interface (not any superinterface of Foo), so
> it seems I cannot specify Foo as an argument for it. How can I
> specify Foo as the contained object?
>
> For the record, here is the relevant snippet of WSDL and the
> corresponding declaration in the code generated by wsdl2java.
> Foo is not a subinterface of the declared type OMElement.
>
> Thanks in advance for any advice.
>
> Robert Dodier
>
> PS.
> WSDL snippet:
>
>             <xs:complexType name="PayloadType">
>                 <xs:sequence>
>                     <xs:any maxOccurs="unbounded" minOccurs="0"
> processContents="skip"/>
>                 </xs:sequence>
>             </xs:complexType>
>
> Generated code:
>
>     protected org.apache.axiom.om.OMElement[] localExtraElement ;

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
For additional commands, e-mail: java-user-h...@axis.apache.org

Reply via email to