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