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 "Arnaud MERGEY (JIRA)" <ji...@apache.org> on 2006/05/10 18:10:19 UTC
[jira] Created: (AXIS2-707) getOutputStream() has already been
called for this response
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
[jira] Resolved: (AXIS2-707) getOutputStream() has already been
called for this response
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-707?page=all ]
Davanum Srinivas resolved AXIS2-707:
------------------------------------
Resolution: Fixed
Fixed in latest SVN.
thanks,
dims
> 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