getOutputStream() has already been called for this response
-----------------------------------------------------------

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

  Components: databinding  
    Versions: 1.0    
 Environment: tomcat 5.5.17, windows XP
    Reporter: Arnaud MERGEY


I want to generate a web service from a wsdl file with WSDL2Java.
I'have tried adb data binding and jibx data binding.
I successfully deploy my web service in tomcat
When I invoke the service, I'have an HTTP 500 server error 
"java.lang.IllegalStateException: getOutputStream() has already been called for 
this response"
whith both adb and jibx databinding.
The only code I have written is in generated skeleton and I only return the 
response object. 

stack trace:
org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling(OMElementImpl.java:265)
   
org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.hasNext(OMChildrenQNameIterator.java:75)
   
org.apache.axiom.om.impl.llom.OMElementImpl.getFirstChildWithName(OMElementImpl.java:222)
   
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.getHeader(SOAPEnvelopeImpl.java:76)
   
org.apache.axis2.engine.AxisEngine.createFaultMessageContext(AxisEngine.java:183)
   org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:168)
   org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:153)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 

tomcat stack trace
GRAVE: Exception Processing ErrorPage[errorCode=500, 
location=/axis2-web/Error/error500.jsp]
org.apache.jasper.JasperException: "getOutputStream()" a déjà été appelé pour 
cette réponse
   at 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
   at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
   at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:465)
   at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
   at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
   at 
org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:363)
   at 
org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:284)
   at 
org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:228)
   at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:134)
   at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
   at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
   at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
   at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Thread.java:595) 


with empty header request work with ADB and jibx but don't work with xmlbeans, 
request always work with none databinding (axiom)

My SOAP request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:snp="http://www.sunopsis.com/API/SnpsInvoke/";>
        
   <soapenv:Body>
      <snp:invokeScenarioRequest>
         <!--Optional:-->
         <RepositoryConnection>
            <JdbcDriver>org.hsqldb.jdbcDriver</JdbcDriver>
            <JdbcUrl>jdbc:hsqldb:hsql://localhost</JdbcUrl>
            <JdbcUser>sa</JdbcUser>
            <JdbcPassword></JdbcPassword>
            <SnpsUser>SUPERVISOR</SnpsUser>
            <SnpsPassword>SUNOPSIS</SnpsPassword>
            <WorkRepository>WORKREP</WorkRepository>
         </RepositoryConnection>
         <Command>
            <BaseCommand>
               <LogLevel>5</LogLevel>
               <SyncMode>0</SyncMode>
               <Context>GLOBAL</Context>
            </BaseCommand>
            <ScenarioName>TEST</ScenarioName>
            <ScenarioVersion>1</ScenarioVersion>
         </Command>
         <Agent>
            <Host>localhost</Host>
            <Port>20910</Port>
         </Agent>
      </snp:invokeScenarioRequest>
   </soapenv:Body>
</soapenv:Envelope>

My WSDL:
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        xmlns:snps="http://www.sunopsis.com/API/SnpsInvoke/";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        targetNamespace="http://www.sunopsis.com/API/SnpsInvoke/";>
        <wsdl:types>
                <xsd:schema xmlns="http://www.sunopsis.com/API/SnpsInvoke/";
                        
targetNamespace="http://www.sunopsis.com/API/SnpsInvoke/";
                        elementFormDefault="unqualified"
                        attributeFormDefault="unqualified">
                        <xsd:element type="CommandResultType"
                                name="invokeScenarioResponse" />
                        <xsd:element name="invokeScenarioRequest">
                                <xsd:complexType>
                                        <xsd:all>
                                                <xsd:element minOccurs="0"
                                                        
type="RepositoryConnectionType" name="RepositoryConnection" />
                                                <xsd:element 
type="ScenarioCommandType"
                                                        name="Command" />
                                                <xsd:element type="AgentType" 
name="Agent" />
                                        </xsd:all>
                                </xsd:complexType>
                        </xsd:element>
                        <xsd:complexType name="RepositoryConnectionType">
                                <xsd:all>
                                        <xsd:element type="xsd:string" 
name="JdbcDriver" />
                                        <xsd:element type="xsd:string" 
name="JdbcUrl" />
                                        <xsd:element type="xsd:string" 
name="JdbcUser" />
                                        <xsd:element type="xsd:string" 
name="JdbcPassword" />
                                        <xsd:element type="xsd:string" 
name="SnpsUser" />
                                        <xsd:element type="xsd:string" 
name="SnpsPassword" />
                                        <xsd:element type="xsd:string"
                                                name="WorkRepository" />
                                </xsd:all>
                        </xsd:complexType>
                        <xsd:complexType name="BaseCommandType">
                                <xsd:all>
                                        <xsd:element default="5" type="xsd:int"
                                                name="LogLevel" />
                                        <xsd:element default="0" type="xsd:int"
                                                name="SyncMode" />
                                        <xsd:element type="xsd:string" 
name="Context" />
                                </xsd:all>
                        </xsd:complexType>
                        <xsd:complexType name="ScenarioCommandType">
                                <xsd:sequence>
                                        <xsd:element type="BaseCommandType"
                                                name="BaseCommand" />
                                        <xsd:element type="xsd:string" 
name="ScenarioName" />
                                        <xsd:element type="xsd:string"
                                                name="ScenarioVersion" />
                                        <xsd:element minOccurs="0" 
type="VariableType"
                                                name="Variables" 
maxOccurs="unbounded" />
                                </xsd:sequence>
                        </xsd:complexType>
                        <xsd:complexType name="VariableType">
                                <xsd:all>
                                        <xsd:element type="xsd:string" 
name="Name" />
                                        <xsd:element type="xsd:string" 
name="Value" />
                                </xsd:all>
                        </xsd:complexType>
                        <xsd:complexType name="CommandResultType">
                                <xsd:all>
                                        <xsd:element type="xsd:boolean" 
name="Ok" />
                                        <xsd:element type="xsd:string" 
name="SessionNumber" />
                                        <xsd:element type="xsd:string" 
name="ErrorMessage" />
                                </xsd:all>
                        </xsd:complexType>
                        <xsd:complexType name="AgentType">
                                <xsd:all>
                                        <xsd:element type="xsd:string" 
name="Host" />
                                        <xsd:element type="xsd:int" name="Port" 
/>
                                </xsd:all>
                        </xsd:complexType>
                </xsd:schema>
        </wsdl:types>
        <wsdl:message name="invokeScenarioRequest">
                <wsdl:part element="snps:invokeScenarioRequest" name="part1" />
        </wsdl:message>
        <wsdl:message name="invokeScenarioResponse">
                <wsdl:part element="snps:invokeScenarioResponse" name="part1" />
        </wsdl:message>
        <wsdl:portType name="SnpsInvokePortType">
                <wsdl:operation name="invokeScenario">
                        <wsdl:input message="snps:invokeScenarioRequest" />
                        <wsdl:output message="snps:invokeScenarioResponse" />
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding type="snps:SnpsInvokePortType"
                name="SnpsInvokeSOAP11Binding">
                <soap:binding style="document"
                        transport="http://schemas.xmlsoap.org/soap/http"; />
                <wsdl:operation name="invokeScenario">
                        <soap:operation style="document"
                                soapAction="invokeScenario" />
                        <wsdl:input>
                                <soap:body
                                        
namespace="http://www.sunopsis.com/API/SnpsInvoke/"; use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body
                                        
namespace="http://www.sunopsis.com/API/SnpsInvoke/"; use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding type="snps:SnpsInvokePortType"
                name="SnpsInvokeSOAP12Binding">
                <soap12:binding style="document"
                        transport="http://schemas.xmlsoap.org/soap/http"; />
                <wsdl:operation name="invokeScenario">
                        <soap12:operation style="document"
                                soapAction="invokeScenario" />
                        <wsdl:input>
                                <soap12:body
                                        
namespace="http://www.sunopsis.com/API/SnpsInvoke/"; use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap12:body
                                        
namespace="http://www.sunopsis.com/API/SnpsInvoke/"; use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="SnpsInvoke">
                <wsdl:port binding="snps:SnpsInvokeSOAP11Binding"
                        name="SnpsInvokeSOAP11port0">
                        <soap:address location="http://www.sunopsis.com/"; />
                </wsdl:port>
                <wsdl:port binding="snps:SnpsInvokeSOAP12Binding"
                        name="SnpsInvokeSOAP12port0">
                        <soap12:address location="http://www.sunopsis.com/"; />
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>


-- 
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