On Tue, Mar 31, 2009 at 18:18, Alan Williams <[email protected]> wrote:
> (net.sf.taverna.t2.activities.wsdl.WSDLActivity:301) - Error invoking
> WSDL service sayHello
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
> faultSubcode:
> faultString: java.net.SocketTimeoutException: Read timed out
> faultActor:
> faultNode:
> faultDetail:
>
> {http://xml.apache.org/axis/}stackTrace:java.net.SocketTimeoutException:
> Read timed out
> at java.net.SocketInputStream.socketRead0(Native Method)
When debugging it, it seems to be hanging in trying to receive the response:
Thread
[net.sf.taverna.t2.workflowmodel.processor.dispatch.events.dispatchjobev...@fb840]
(Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
BufferedInputStream.fill() line: 218 [local variables unavailable]
BufferedInputStream.read1(byte[], int, int) line: 256
BufferedInputStream.read(byte[], int, int) line: 313
SocketInputStream(FilterInputStream).read(byte[], int, int) line: 111
XMLEntityManager$RewindableInputStream.read(byte[], int, int) line:
not available
UTF8Reader.read(char[], int, int) line: not available
XMLEntityScanner.load(int, boolean) line: not available
XMLEntityScanner.skipSpaces() line: not available
XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(boolean) line:
not available
XMLNSDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean)
line: not available
XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean)
line: not available
XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource)
line: not available
SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line:
not available
SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource)
line: not available
SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available
SAXParserImpl(SAXParser).parse(InputSource, DefaultHandler) line: 375
DeserializationContext.parse() line: 227
SOAPPart.getAsSOAPEnvelope() line: 696
Message.getSOAPEnvelope() line: 435
MustUnderstandChecker.invoke(MessageContext) line: 62
AxisClient.invoke(MessageContext) line: 206
Call.invokeEngine(MessageContext) line: 2784
Call.invoke() line: 2767
Call.invoke(SOAPEnvelope) line: 1910
T2WSDLSOAPInvoker(WSDLSOAPInvoker).invokeCall(Call, SOAPEnvelope) line:
193
T2WSDLSOAPInvoker(WSDLSOAPInvoker).invoke(Map, EngineConfiguration)
line: 134
WSDLActivity$1.run() line: 271
Thread.run() line: 613
A log message from Taverna (using [1]):
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,062
(org.apache.axis.transport.http.HTTPSender:484) - XML sent:
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,062
(org.apache.axis.transport.http.HTTPSender:485) -
---------------------------------------------------
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,063
(org.apache.axis.transport.http.HTTPSender:519) - POST /testws
HTTP/1.0
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
Content-Type: text/xml; charset=utf-8
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
Accept: application/soap+xml, application/dime, multipart/related,
text/*
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
User-Agent: Axis/1.4
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
Host: anybody.cephb.fr:8088
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
Cache-Control: no-cache
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
Pragma: no-cache
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
SOAPAction: ""
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
Content-Length: 332
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
<?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><ns1:sayHello
xmlns:ns1="http://ws/"><name>myGrid</name></ns1:sayHello></soapenv:Body></soapenv:Envelope>
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,171
(org.apache.axis.transport.http.HTTPSender:627) - HTTP/1.1 200 OK
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,172
(org.apache.axis.transport.http.HTTPSender:627) - Content-type
text/xml; charset=utf-8
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,172
(org.apache.axis.transport.http.HTTPSender:627) - Content-length 223
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,173
(org.apache.axis.transport.http.HTTPSender:794) -
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
XML received:
2009-04-01 10:02:36 [0x0-0x119119].net.sf.taverna.t2.workbench[4648]
DEBUG 2009-04-01 10:02:36,173
(org.apache.axis.transport.http.HTTPSender:795) -
-----------------------------------------------
[1]
http://www.mygrid.org.uk/tools/taverna/taverna-1/taverna-documentation/taverna-frequently-asked-questions/building-workflows/where-are-the-soap-messages/
It does work in Soap-UI:
POST http://anybody.cephb.fr:8088/testws HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.1
Host: anybody.cephb.fr:8088
Content-Length: 333
<?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><ns1:sayHello
xmlns:ns1="http://ws/"><name>myGrid</name></ns1:sayHello></soapenv:Body></soapenv:Envelope>
HTTP/1.1 200 OK
Transfer-encoding: chunked
Content-type: text/xml; charset=utf-8
<?xml version="1.0" ?><S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:sayHelloResponse
xmlns:ns2="http://ws/"><returnHello>Hello
myGrid</returnHello></ns2:sayHelloResponse></S:Body></S:Envelope>
And also using curl if we replicate the exact headers sent by Taverna:
: st...@mira ~;curl -v -d @3 -H'Content-Type: text/xml; charset=utf-8'
-H'Accept: application/soap+xml, application/dime, multipart/related,
text/*' -H'User-Agent: Axis/1.4' -H'Host: anybody.cephb.fr:8088'
-H'Cache-Control: no-cache' -H'Pragma: no-cache' -H'SOAPAction: ""'
http://anybody.cephb.fr:8088/testws
* About to connect() to anybody.cephb.fr port 8088 (#0)
* Trying 195.220.62.69... connected
* Connected to anybody.cephb.fr (195.220.62.69) port 8088 (#0)
> POST /testws HTTP/1.1
> Content-Type: text/xml; charset=utf-8
> Accept: application/soap+xml, application/dime, multipart/related, text/*
> User-Agent: Axis/1.4
> Host: anybody.cephb.fr:8088
> Cache-Control: no-cache
> Pragma: no-cache
> SOAPAction: ""
> Content-Length: 332
>
< HTTP/1.1 200 OK
< Transfer-encoding: chunked
< Content-type: text/xml; charset=utf-8
<
* Connection #0 to host anybody.cephb.fr left intact
* Closing connection #0
<?xml version="1.0" ?><S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:sayHelloResponse
xmlns:ns2="http://ws/"><returnHello>Hello
myGrid</returnHello></ns2:sayHelloResponse></S:Body></S:Envelope>
As far as I can see, the server is sending back it's response as
<?xml version="1.0" ?><S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:sayHelloResponse
xmlns:ns2="http://ws/"><returnHello>Hello
myGrid</returnHello></ns2:sayHelloResponse></S:Body></S:Envelope>
- but it's not sending a Content-Length header, and it's not closing
the connection - so Java is just waiting to see if there's any more
data coming back, hanging on the next read() - even though the XML is
"finished" it doesn't know that yet as it's using buffering to read
the stream and parse the character set.
Could you try using another HTTP server implementation (using
something like Tomcat or Jetty) instead of using endpoint.publish()
..?
--
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester
------------------------------------------------------------------------------
_______________________________________________
taverna-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/taverna-users
Documentation: http://www.mygrid.org.uk/usermanual1.7/
FAQ: http://www.mygrid.org.uk/wiki/Mygrid/TavernaFaq
Biological Services: http://www.mygrid.org.uk/wiki/Mygrid/BiologicalWebServices