users@jax-rpc.java.net

Generation with XSD:ANY

From: Dahlen Jr, Shawn M <shawn.m.dahlen.jr_at_lmco.com>
Date: Mon, 29 Nov 2004 12:18:27 -0500

Hello -

I am attempting to create an implementation of a web service in which a
particular operation is defined as follows:

<xs:element name="getAllResponse">
  <xs:complexType>
    <xs:sequence>
      <xs:any namespace="http://iss.lmco.com/schema/action-item-summary"
maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

 

<message name="getAllInput"/>
<message name="getAllOutput">
  <part name="result" element="service:getAllResponse"/>
</message>
 
<portType name="actionItemPort">
  <operation name="getAll">
    <input message="service:getAllInput"/>
    <output message="service:getAllOutput"/>
  </operation>
</portType>

 

According the JAX-RPC 1.1 specification, I should have the following
interface created:

public interface ActionItemPort extends Remote

{
  GetAllResponse getAll() throws RemoteException;
}

And the GetAllResponse bean should have a _any property of type
SOAPElement.

However, when I run WSCOMPILE on the given WSDL definition, I instead
recieve the following interface:

public interface ActionItemPort extends Remote

{
  SOAPElement getAll() throws RemoteException;
}

For some reason, wscompile unwraps my GetAllResponse bean if the only
element within it is of type XSD:ANY. I have the WSI feature turned on,
and explicitly say donotunwrap. I am using JWSDP version 1.4.


Is this a bug in wscompile? I looked around but did not see it mentioned
anywhere. How can I overcome this issue, without hand-editing the
generated interfaces?

I appreciate any help you can afford.



P.S. I have also tried not using anonymous types for the getAllResponse
element, but that did not seem to help either.

 

 

Thank You,


Shawn Dahlen

Lockheed Martin