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 "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2008/07/03 10:30:45 UTC
[jira] Assigned: (AXIS2-3882) invalid code generated for xsd:any,
'Cannot read from closed stream'
[ https://issues.apache.org/jira/browse/AXIS2-3882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepal Jayasinghe reassigned AXIS2-3882:
----------------------------------------
Assignee: Amila Chinthaka Suriarachchi
> invalid code generated for xsd:any, 'Cannot read from closed stream'
> --------------------------------------------------------------------
>
> Key: AXIS2-3882
> URL: https://issues.apache.org/jira/browse/AXIS2-3882
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: codegen
> Affects Versions: 1.4
> Environment: Linux, Gentoo, sun-jdk-1.6.0.06, ant 1.7.0
> Reporter: Rafal Malinowski
> Assignee: Amila Chinthaka Suriarachchi
>
> I am using the following wsdl file:
> <?xml version="1.0"?>
> <definitions name="AuthenticationService"
> targetNamespace="urn:liberty:ssos:2006-08"
> xmlns:tns="urn:liberty:ssos:2006-08"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:S="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:ssos="urn:liberty:ssos:2006-08"
> xmlns:samlp2="urn:oasis:names:tc:SAML:2.0:protocol"
> xmlns:wsaw="http://www.w3.org/2006/02/addressing/wsdl"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/
> http://schemas.xmlsoap.org/wsdl/
> http://www.w3.org/2006/02/addressing/wsdl
> http://www.w3.org/2006/02/addressing/wsdl/ws-addr-wsdl.xsd">
> <xsd:documentation>
> The source code in this WSDL file was created and changed from:
> Liberty ID-WSF Liberty ID-WSF Authentication, Single Sign-On, and Identity Mapping Services Specification
> Version 2.0-errata-v1.0
> 28 November, 2006
> Copyright (c) 2007 Liberty Alliance participants, see
> http://projectliberty.org/resource_center/specifications/liberty_alliance_id_wsf_2_0_specifications/idwsf_feb_copyrights
> </xsd:documentation>
> <message name="SSOSoapRequest">
> <part name="parameters" element="xsd:any"/>
> </message>
> <message name="SSOSoapResponse">
> <part name="parameters" element="xsd:any"/>
> </message>
>
> <portType name="SSOSPortType">
> <operation name="SingleSignOn">
> <input message="ssos:SSOSoapRequest"
> wsaw:Action="urn:liberty:ssos:2006-08:AuthnRequest"/>
> <output message="ssos:SSOSoapResponse"
> wsaw:Action="urn:liberty:ssos:2006-08:Response"/>
> </operation>
> </portType>
> <binding name="SSOSSoapBinding" type="ssos:SSOSPortType">
> <S:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="SingleSignOn">
> <S:operation soapAction="urn:liberty:ssos:2006-08:SingleSignOn" />
> <input>
> <S:body use="literal"/>
> </input>
> <output>
> <S:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="SSOService">
> <port name="SSOSPortType" binding="ssos:SSOSSoapBinding">
> <S:address location="http://example.com/idmapping"/>
> </port>
> </service>
> </definitions>
> <?xml version="1.0"?>
> <definitions name="AuthenticationService"
> targetNamespace="urn:liberty:ssos:2006-08"
> xmlns:tns="urn:liberty:ssos:2006-08"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:S="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:ssos="urn:liberty:ssos:2006-08"
> xmlns:samlp2="urn:oasis:names:tc:SAML:2.0:protocol"
> xmlns:wsaw="http://www.w3.org/2006/02/addressing/wsdl"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/
> http://schemas.xmlsoap.org/wsdl/
> http://www.w3.org/2006/02/addressing/wsdl
> http://www.w3.org/2006/02/addressing/wsdl/ws-addr-wsdl.xsd">
> <xsd:documentation>
> The source code in this WSDL file was created and changed from:
> Liberty ID-WSF Liberty ID-WSF Authentication, Single Sign-On, and Identity Mapping Services Specification
> Version 2.0-errata-v1.0
> 28 November, 2006
> Copyright (c) 2007 Liberty Alliance participants, see
> http://projectliberty.org/resource_center/specifications/liberty_alliance_id_wsf_2_0_specifications/idwsf_feb_copyrights
> </xsd:documentation>
> <message name="SSOSoapRequest">
> <part name="parameters" element="xsd:any"/>
> </message>
> <message name="SSOSoapResponse">
> <part name="parameters" element="xsd:any"/>
> </message>
>
> <portType name="SSOSPortType">
> <operation name="SingleSignOn">
> <input message="ssos:SSOSoapRequest"
> wsaw:Action="urn:liberty:ssos:2006-08:AuthnRequest"/>
> <output message="ssos:SSOSoapResponse"
> wsaw:Action="urn:liberty:ssos:2006-08:Response"/>
> </operation>
> </portType>
> <binding name="SSOSSoapBinding" type="ssos:SSOSPortType">
> <S:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="SingleSignOn">
> <S:operation soapAction="urn:liberty:ssos:2006-08:SingleSignOn" />
> <input>
> <S:body use="literal"/>
> </input>
> <output>
> <S:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="SSOService">
> <port name="SSOSPortType" binding="ssos:SSOSSoapBinding">
> <S:address location="http://example.com/idmapping"/>
> </port>
> </service>
> </definitions>
> It uses xsd:any element as return message. I'm trying to read it with the following code:
> OMElement response = ((SSOServiceStub) _stub).SingleSignOn(authnRequest);
> System.out.println(response.toStringWithConsume());
> (authRequest is of type OMElementImpl)
> Using responseesponse.toString() I'm getting only part of oryginal xml node, with toStringWithConsume it throws exception:
> com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
> com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
> com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
> org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:927)
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:72)
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:57)
> org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:525)
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:795)
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:358)
> org.apache.axiom.om.impl.llom.OMElementImpl.toStringWithConsume(OMElementImpl.java:904)
> After modifing the stub code
> //execute the operation client
> _operationClient.execute(true);
>
> org.apache.axis2.context.MessageContext _returnMessageContext = _operationClient.getMessageContext(
> org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE);
> org.apache.axiom.soap.SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();
>
> java.lang.Object object = fromOM(
> _returnEnv.getBody().getFirstElement() ,
> org.apache.axiom.om.OMElement.class,
> getEnvelopeNamespaces(_returnEnv));
> *********************** added line ************************
> object.toString(); // HACK
> _messageContext.getTransportOut().getSender().cleanup(_messageContext);
>
> return (org.apache.axiom.om.OMElement)object;
> It works ok.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org