WebParam.mode.OUT Holder<clazz> parameters not set (null values)
----------------------------------------------------------------

                 Key: XFIRE-807
                 URL: http://jira.codehaus.org/browse/XFIRE-807
             Project: XFire
          Issue Type: Bug
    Affects Versions: 1.2.2
         Environment: Windows XP, Java 1.5, Eclipse 3.2
            Reporter: Jamie Lister
         Assigned To: Dan Diephouse


I'm using the Eclipse plugin (version 1.2.2)  to generate Java from WSDL. (all 
defaults = uses JAXB).

The generated WebParam.Mode.OUT parameters always return with value = null;

These WSDL messages generates the following Java:

  <wsdl:message name="GetPerformanceDetailsSoapIn">
    <wsdl:part name="performanceId" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetPerformanceDetailsSoapOut">
    <wsdl:part name="status" type="tns:Status" />
    <wsdl:part name="deliveryMethods" type="s0:ArrayOfDeliveryMethod" />
    <wsdl:part name="categories" type="s0:ArrayOfCategory" />
    <wsdl:part name="code" type="s:string" />
  </wsdl:message>

@WebService(name = "NlsrServiceSoap", targetNamespace = 
"http://services.softix.com/NLSR";)
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, 
parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface NlsrServiceSoap {

    @WebMethod(operationName = "GetPerformanceDetails", action = 
"http://services.softix.com/nlsr/GetPerformanceDetails";)
    @WebResult(name = "status", targetNamespace = 
"http://services.softix.com/NLSR";)
    public Status getPerformanceDetails(
        @WebParam(name = "performanceId", targetNamespace = 
"http://services.softix.com/NLSR";)
        String performanceId,
        @WebParam(name = "deliveryMethods", targetNamespace = 
"http://services.softix.com/NLSR";, mode = WebParam.Mode.OUT)
        Holder<ArrayOfDeliveryMethod> deliveryMethods,
        @WebParam(name = "categories", targetNamespace = 
"http://services.softix.com/NLSR";, mode = WebParam.Mode.OUT)
        Holder<ArrayOfCategory> categories,
        @WebParam(name = "code", targetNamespace = 
"http://services.softix.com/NLSR";, mode = WebParam.Mode.OUT)
        Holder<String> code);


In my client code i have:

                Holder<String> code = new Holder<String>();
                code.value = "foo";

                Holder<ArrayOfDeliveryMethod> deliveryMethods = new 
Holder<ArrayOfDeliveryMethod>();
                Holder<ArrayOfCategory> categories = new 
Holder<ArrayOfCategory>();
                Status status = 
nlsrService.getPerformanceDetails("EADM2007641", deliveryMethods, categories, 
code);
                
                log.debug("status:"+status);
                log.debug("status:"+status.isAutomateOK());
                log.debug("code:"+code.value);

I get some values in status, but code is always "foo". The other holders are 
always null. The wire sends the following soap:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
        xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
        
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
        
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";>
        <soap:Header>
                <wsa:Action>
                        
http://services.softix.com/NLSR/GetPerformanceDetailsResponse
                </wsa:Action>
                <wsa:MessageID>
                        urn:uuid:01d5d9ca-579d-490f-96b3-528afb32b521
                </wsa:MessageID>
                <wsa:RelatesTo>
                        urn:uuid:7F7DAB03-79E3-EFF2-75F2-1E5E7DE80039
                </wsa:RelatesTo>
                <wsa:To>
                        
http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
                </wsa:To>
                <wsse:Security>
                        <wsu:Timestamp
                                
wsu:Id="Timestamp-ca3cb839-c3d5-4a8d-a7e2-f5b4aceb742f">
                                <wsu:Created>2006-12-19T05:21:38Z</wsu:Created>
                                <wsu:Expires>2006-12-19T05:26:38Z</wsu:Expires>
                        </wsu:Timestamp>
                </wsse:Security>
        </soap:Header>
        <soap:Body>
                <GetPerformanceDetailsResponse
                        xmlns="http://services.softix.com/nlsr/";>
                        <status xmlns="">
                                <nonticketek>false</nonticketek>
                                <soldout>false</soldout>
                                <cancelled>false</cancelled>
                                <automateOK>false</automateOK>
                        </status>
                        <deliveryMethods xmlns="" />
                        <categories xmlns="" />
                        <code xmlns="">1</code>
                </GetPerformanceDetailsResponse>
        </soap:Body>
</soap:Envelope>





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to