Hi,
I'm suddenly getting problems with the unmarshalling of by messages,
after using MTOM to transfer binary data.
My Client looks like this:
[...]
clientStub._getServiceClient().getOptions().setProperty(Constants.Configuration.ENABLE_MTOM,
Constants.VALUE_TRUE);
clientStub._getServiceClient().getOptions().setTimeOutInMilliSeconds(100000);
clientStub._getServiceClient().getOptions().setManageSession(true);
[...]
RetrieveDataRequest retrieveRequest = new RetrieveDataRequest();
retrieveRequest.setJobID(response.getJobID());
retrieveRequest.setOutPort(0);
RetrieveDataResponse retrieveResponse =
clientStub.retrieveData(retrieveRequest); // <--- ERROR
Everything looks fine, except on the client side I get an error like this:
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException:
Unexpected subelement Include
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at
org.knime.soda.services.client.ExecuteWorkflowStub.fromOM(ExecuteWorkflowStub.java:1318)
at
org.knime.soda.services.client.ExecuteWorkflowStub.retrieveData(ExecuteWorkflowStub.java:886)
at
org.knime.soda.server.test.services.ExecuteWorkflowAsyncTest.testProgressPolling(ExecuteWorkflowAsyncTest.java:78)
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 junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at
org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.Exception:
org.apache.axis2.databinding.ADBException: Unexpected subelement Include
at
org.knime.soda.services.TableContainer$Factory.parse(TableContainer.java:529)
at
org.knime.soda.services.RetrieveDataResponse$Factory.parse(RetrieveDataResponse.java:447)
at
org.knime.soda.services.client.ExecuteWorkflowStub.fromOM(ExecuteWorkflowStub.java:1295)
... 24 more
Caused by: org.apache.axis2.databinding.ADBException: Unexpected
subelement Include
at
org.knime.soda.services.TableContainer$Factory.parse(TableContainer.java:525)
... 26 more
I suppose that the "Include" element mentioned is the xop:include that
was sent with the response. The response looks like this:
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
<wsa:ReferenceParameters>
<axis2:ServiceGroupId
xmlns:axis2="http://ws.apache.org/namespaces/axis2">urn:uuid:6BD67F48DCEE91861B1202692300817</axis2:ServiceGroupId>
</wsa:ReferenceParameters>
</wsa:ReplyTo>
<wsa:MessageID>urn:uuid:6BD67F48DCEE91861B1202692306472</wsa:MessageID>
<wsa:Action>urn:retrieveDataResponse</wsa:Action>
<wsa:RelatesTo>urn:uuid:6BD67F48DCEE91861B1202692306419</wsa:RelatesTo>
</soapenv:Header>
<soapenv:Body>
<ns1:retrieveDataResponse
xmlns:ns1="http://knime.org/soda/services">
<outData binary="true">
<binaryData>
<xop:Include
href="cid:1.urn:uuid:[EMAIL PROTECTED]"
xmlns:xop="http://www.w3.org/2004/08/xop/include" />
</binaryData>
</outData>
<hasMoreData>false</hasMoreData>
</ns1:retrieveDataResponse>
</soapenv:Body>
</soapenv:Envelope>--MIMEBoundaryurn_uuid_6BD67F48DCEE91861B1202692306896Content-Type:
application/octet-stream
[...]
One more strange thing: On the console I get the following:
Exception in thread "HttpConnection-8080-6"
java.lang.IllegalStateException: Response already committed
at
org.apache.axis2.transport.http.server.AxisHttpResponseImpl.assertNotCommitted(AxisHttpResponseImpl.java:75)
at
org.apache.axis2.transport.http.server.AxisHttpResponseImpl.sendError(AxisHttpResponseImpl.java:110)
at
org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:291)
at
org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:166)
at
org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:85)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Unknown Source)
Not sure if this is the cause, or a subsequent error....
Thanks in advance for any hints on that.
kind regards,
Florian
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]