You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Davanum Srinivas (JIRA)" <ji...@apache.org> on 2006/09/27 15:05:51 UTC
[jira] Resolved: (AXIS2-747) Missing namespace on subelement
[ http://issues.apache.org/jira/browse/AXIS2-747?page=all ]
Davanum Srinivas resolved AXIS2-747.
------------------------------------
Resolution: Fixed
If you see this problem with your WSDL. Please upload the wsdl and the sample client along with the soap request in a new JIRA issue.
thanks,
dims
> Missing namespace on subelement
> --------------------------------
>
> Key: AXIS2-747
> URL: http://issues.apache.org/jira/browse/AXIS2-747
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: om
> Affects Versions: 1.0
> Environment: Windows 2K3, JDK 1.5, AXIS2 1.0 and Eclipse 3.1 with tomcat plugin
> Reporter: Qi An
> Assigned To: Ajith Harshana Ranabahu
> Priority: Blocker
>
> The below all worked fine on 0.95:
> The complex type in question is defined in the wsdl as:
> <s:complexType name="Credential">
> <s:sequence/>
> </s:complexType>
> <s:complexType name="EnterpriseCredential"> <s:complexContent>
> <s:extension base="s0:Credential">
> <s:sequence/>
> <s:attribute name="Login" type="s:string" use="required"/>
> <s:attribute name="Password" type="s:string" use="optional"/>
> <s:attribute name="Locale" type="s:string" use="optional"/>
> <s:attribute name="TimeZone" type="s:string" use="optional"/>
> <s:attribute name="Domain" type="s:string" use="optional"/>
> <s:attribute name="AuthType" type="s:string" use="optional"/>
> </s:extension>
> </s:complexContent>
> </s:complexType>
> In the provider's skeleton, we have the following:
> public com.businessobjects.dsws.session.LoginResponseDocument login(
> com.businessobjects.dsws.session.LoginDocument param12)
> throws com.businessobjects.dsws.session.SessionSkeleton.DSWSExceptionException, RemoteException {
> Login obj = param12.getLogin();
> Credential cred = obj.getCredential();
> The problem is, on the getCredential() call, we actually get back an
> object of type Credential (base class) when the method was invoked with
> an enterprise credential. So that further on, on the line:
> EnterpriseCredential enterpriseCredential = (EnterpriseCredential) cred;
> We get a class cast exception.
> Tracing through a bit with the SOAPMonitor, we noticed that the xml
> envelope actually ends up looking like:
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header />
> <soapenv:Body>
> <login xmlns="session.dsws.businessobjects.com">
> <credential xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> Password="" Domain="vanyma01" xsi:type="ses:EnterpriseCredential"
> Login="administrator" />
> </login>
> </soapenv:Body>
> </soapenv:Envelope>
> Where the namespace definition of "ses" is clearly missing. If you
> trace through the deserialization code a bit, this is why the object
> comes back as the base class instead of the extended type.
> Once thing interesting one of our developer's noticed, is that if, on
> the consumer side, you add the lines:
> XmlOptions op1 = new XmlOptions();
> op1.setSaveNamespacesFirst();
> m_credential =
> EnterpriseCredential.Factory.newInstance(op1);
> At the time you create the credential, it seems that *some of the time*
> this fixes the problem, so that the xml appears as:
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header />
> <soapenv:Body>
> <login xmlns="session.dsws.businessobjects.com">
> <credential xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:ses="session.dsws.businessobjects.com" Password=""
> Domain="vanyma01" xsi:type="ses:EnterpriseCredential"
> Login="administrator" />
> </login>
> </soapenv:Body>
> </soapenv:Envelope>
> But only some of the time.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org