[jbossws-issues] [JBoss JIRA] Commented: (JBWS-2706) Unable to unmarshall attachment parts where the type is 'application/octet-stream'
Darran Lofthouse (JIRA)
jira-events at lists.jboss.org
Wed Jul 22 13:12:29 EDT 2009
[ https://jira.jboss.org/jira/browse/JBWS-2706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12477208#action_12477208 ]
Darran Lofthouse commented on JBWS-2706:
----------------------------------------
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.jboss.test.ws.jaxws.jbws2706.JBWS2706TestCase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.703 sec
> Unable to unmarshall attachment parts where the type is 'application/octet-stream'
> ----------------------------------------------------------------------------------
>
> Key: JBWS-2706
> URL: https://jira.jboss.org/jira/browse/JBWS-2706
> Project: JBoss Web Services
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: jbossws-native
> Affects Versions: jbossws-native-3.1.2
> Reporter: Darran Lofthouse
> Assignee: Darran Lofthouse
> Fix For: jbossws-native-3.2.0
>
>
> Based on the following WSDL sections: -
> <message name="messageInput">
> <part name="request" element="s:InputRequest"/>
> <part name="attach1" type="xsd:string"/>
> <part name="attach2" type="xsd:base64Binary"/>
> </message>
> <message name="messageOutput">
> <part name="response" element="s:OutputResponse"/>
> <part name="attach1" type="xsd:string"/>
> <part name="attach2" type="xsd:base64Binary"/>
> </message>
> <binding name="SwaTestSoapBinding1" type="tns:SwaTest1">
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
>
> <operation name="echoMultipleAttachments">
> <soap:operation/>
> <input>
> <mime:multipartRelated>
> <mime:part>
> <soap:body parts="request" use="literal"/>
> </mime:part>
> <mime:part>
> <mime:content part="attach1" type="application/octet-stream"/>
> </mime:part>
> <mime:part>
> <mime:content part="attach2" type="application/octet-stream"/>
> </mime:part>
> </mime:multipartRelated>
> </input>
> <output>
> <mime:multipartRelated>
> <mime:part>
> <soap:body parts="response" use="literal"/>
> </mime:part>
> <mime:part>
> <mime:content part="attach1" type="application/octet-stream"/>
> </mime:part>
> <mime:part>
> <mime:content part="attach2" type="application/octet-stream"/>
> </mime:part>
> </mime:multipartRelated>
> </output>
> </operation>
> </binding>
> JBossWS can send messages without problem but unmarshalling the messages results in the following error: -
> Caused by: javax.xml.soap.SOAPException: javaType [[B] is not assignable from attachment content: java.io.ByteArrayInputStream
> at org.jboss.ws.core.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:248)
> The reason is because a DataHandler is used to wrap the attachment part, the data handler is passed the attachment along with the content type 'application/octet-stream' as this is not related to a specific type the call to getContent() on the DataHandler within EndpointInvocation returns an InputStraem for the attachment - this is not assignable to the expected Java type.
> The transformPayloadValue method in EndpointInvocation requires an additional step to take the InputStream and convert it to the expected Java type.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbossws-issues
mailing list