Databinding with XMLBeans shows values in soap message but getters return null
------------------------------------------------------------------------------

         Key: AXIS2-649
         URL: http://issues.apache.org/jira/browse/AXIS2-649
     Project: Apache Axis 2.0 (Axis2)
        Type: Bug

    Versions: 1.0    
 Environment: Java 5, linux
    Reporter: robert lazarski


This issue may be related to AXIS2-644, but my example is not using 
inheritance,  

The wsdl is attached and validates fine.

The response envelope is:

<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header 
/><soapenv:Body><simpleLoginResponse 
xmlns="http://simpleNS/types";><soap_session_id>my random 
string</soap_session_id><web_user_name 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:nil="true" 
/></simpleLoginResponse></soapenv:Body></soapenv:Envelope>

I'm setting 'web_user_name' in the service, but it's not showing up.

On the client side, simpleLoginResponseDocument.toString() gives me:

<simpleLoginResponse xmlns="http://simpleNS/types";>
  <soap_session_id>my random string</soap_session_id>
  <web_user_name xsi:nil="true" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</simpleLoginResponse>

I'm getting the 'soap_user_session'  in the soap message,  but  I'm getting 
null when trying to  call  simpleLoginResponse.getSoapSessionId() . The reason 
may be here in  simplens/types/impl/SimpleLoginResponseDocumentImpl.java -
I've put in a few println() :

  public static class SimpleLoginResponseImpl extends 
org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements 
simplens.types.SimpleLoginResponseDocument.SimpleLoginResponse
    {

        public SimpleLoginResponseImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType);
        }

        private static final javax.xml.namespace.QName SOAPSESSIONID$0 =
            new javax.xml.namespace.QName("", "soap_session_id");
        private static final javax.xml.namespace.QName WEBUSERNAME$2 =
            new javax.xml.namespace.QName("", "web_user_name");


        /**
         * Gets the "soap_session_id" element
         */
        public java.lang.String getSoapSessionId()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = 
(org.apache.xmlbeans.SimpleValue)get_store().find_element_user(SOAPSESSIONID$0, 
0);
                if (target == null)
                {
                    System.out.println("target is null");
                    return null;
                }
                System.out.println("target is ok? " + target);
                return target.getStringValue();
            }
        }

The target is null, but the value is showing in the soap message. This is the 
.95 version: 

  private static final javax.xml.namespace.QName SIMPLELOGINRESPONSE$0 =
        new javax.xml.namespace.QName("http://simpleNS/types";, 
"simpleLoginResponse");

The missing namespace appears to be causing this. 

Also attached are my Skeleton, Client, and wsdl2java ant task. 

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

Reply via email to