You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Hans Rupp <ha...@t-online.de> on 2006/03/18 22:36:55 UTC

[Axis1.3] problem when using a proxy

Hello,

i've got the following problem. I'm using Axis1.3. I generated the client-
and server-classes for my webservice
with wsdl2java. I also wrote a simple proxy, which forwards the request and
sends back the response, to get through my firewall. I got the following
problem:

When i use my client without the proxy everything is fine. But when i use
the proxy, the client cannot understand
the answer. I checked the the messages from client to proxy and vice versa
using the tcpmon and the messages from
the proxy to the service and vice versa using the soapmonitor, and all
messages look correct to me. But when
the client gets the response from the proxy, it throws the following
exception:

org.xml.sax.SAXParseException: Premature end of file.
	at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
	at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChe
cker.java:62)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at Retailer7.wsdl.RetailerSOAPStub.quotation(RetailerSOAPStub.java:219)
	... 7 more
Caused by: org.xml.sax.SAXParseException: Premature end of file.
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseEx
ception(Unknown Source)
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unkno
wn Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersi
on(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext
.java:227)


	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
	... 16 more
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXParseException: Premature end of file.
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException:
Premature end of file.
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseEx
ception(Unknown Source)
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unkno
wn Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersi
on(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext
.java:227)
	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
	at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChe
cker.java:62)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at Retailer7.wsdl.RetailerSOAPStub.quotation(RetailerSOAPStub.java:219)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at invocation.Invoker.invoke(Invoker.java:567)
	at database.WSClient.run(WSClient.java:108)
	at java.lang.Thread.run(Unknown Source)

	{http://xml.apache.org/axis/}hostname:hans-0b3osrdf9k

org.xml.sax.SAXParseException: Premature end of file.
	at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
	at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChe
cker.java:62)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at Retailer7.wsdl.RetailerSOAPStub.quotation(RetailerSOAPStub.java:219)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at invocation.Invoker.invoke(Invoker.java:567)
	at database.WSClient.run(WSClient.java:108)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseEx
ception(Unknown Source)
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unkno
wn Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersi
on(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext
.java:227)


	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
	... 16 more
org.xml.sax.SAXParseException: Premature end of file.
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseEx
ception(Unknown Source)
	at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unkno
wn Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
 Source)
	at
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersi
on(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext
.java:227)
	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
	at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChe
cker.java:62)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at Retailer7.wsdl.RetailerSOAPStub.quotation(RetailerSOAPStub.java:219)

Here is also the relevant part from my axis.log :

6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter: SOAPPart
ctor(FORM_SOAPENVELOPE)
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Setting current
message form to: FORM_SOAPENVELOPE (currentMessage is now
org.apache.axis.message.SOAPEnvelope)
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Exit: SOAPPart ctor()
6044375 [Thread-8] DEBUG org.apache.axis.client.AxisClient  - Enter:
AxisClient::invoke
6044375 [Thread-8] DEBUG org.apache.axis.client.AxisClient  -
EngineHandler: null
6044375 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
Enter:  HTTPSender::invoke
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter:
SOAPPart::saveChanges
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Setting current
message form to: FORM_OPTIMIZED (currentMessage is now
org.apache.axis.utils.ByteArray)
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Exit:
SOAPPart::saveChanges(): org.apache.axis.utils.ByteArray@101fa9e
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter:
SOAPPart::saveChanges
6044375 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter:
SOAPPart::saveChanges
6044421 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  - XML
sent:
6044421 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
---------------------------------------------------
6044421 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter:
SOAPPart::saveChanges
6044421 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  - POST
/axis/services/RetailerSOAP HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.3
Host: 127.0.0.1:8090
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: "http://bne.sap.corp/Retailer/quotation"
Content-Length: 892

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><quotati
on xmlns="http://bne.sap.corp/Retailer/"><quotationRequest
xmlns=""><buyerInfo>*not set* -
buyerInfo</buyerInfo><productsInfo><ns1:productRecord
xmlns:ns1="http://bne.sap.corp/Retailer/"><ns1:description>*not set* -
description</ns1:description><ns1:productRecordPrice>*not set* -
productRecordPrice</ns1:productRecordPrice><ns1:quantity>*not set* -
quantity</ns1:quantity></ns1:productRecord></productsInfo><quotationDate><da
te><day>*not set* - day</day><month>*not set* - month</month><year>*not
set* - year</year></date></quotationDate><supplierInfo>*not set* -
supplierInfo</supplierInfo></quotationRequest></quotation></soapenv:Body></s
oapenv:Envelope>
6044718 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
HTTP/1.1 200 OK
6044718 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
Server Apache-Coyote/1.1
6044718 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
Content-Type text/xml;charset=utf-8
6044718 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  - Date
Fri, 17 Mar 2006 19:13:02 GMT
6044734 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
Connection close
6044734 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter: SOAPPart
ctor(FORM_INPUTSTREAM)
6044734 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Setting current
message form to: FORM_INPUTSTREAM (currentMessage is now
org.apache.axis.transport.http.SocketInputStream)
6044734 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Exit: SOAPPart ctor()
6044734 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  - 
no
Content-Length
6044734 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  - 
XML
received:
6044734 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
-----------------------------------------------
6044734 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter:
SOAPPart::getAsSOAPEnvelope()
6044734 [Thread-8] DEBUG org.apache.axis.SOAPPart  - current form is
FORM_INPUTSTREAM
6044734 [Thread-8] DEBUG org.apache.axis.encoding.DeserializationContext  -
Pushing handler org.apache.axis.message.EnvelopeHandler@1d97d0d
6044843 [Thread-8] DEBUG org.apache.axis.transport.http.HTTPSender  -
org.xml.sax.SAXParseException: Premature end of file.
6044843 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Enter: SOAPPart
ctor(FORM_FAULT)
6044843 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Setting current
message form to: FORM_FAULT (currentMessage is now org.apache.axis.AxisFault)
6044843 [Thread-8] DEBUG org.apache.axis.SOAPPart  - Exit: SOAPPart
ctor()Can anyone tell me what goes wrong there? 

To me it looks like the client gets the response and can read the header
but when it tries to read the xml/soap
content of the response it gets an premature end of file (why???) and
throws a fault.
Any ideas/suggestions how to solve this?

Greetings and thanks

                    Hans