Hi Sujit,
I'm not sure how to elaborate more.
I can tell you that the queue is located on a Weblogic 9.2 server and we use Sun Java system Application Server 9.1_02 as execution environment for the EJB.
The generated JMS BC WSDL looks like follows:
<definitions name="ReceiveBinaryMessage" targetNamespace="
http://j2ee.netbeans.org/wsdl/ejbHanteraBinarImpuls/ReceiveBinaryMessage"
xmlns="
http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:jms="
http://schemas.sun.com/jbi/wsdl-extensions/jms/" xmlns:tns="
http://j2ee.netbeans.org/wsdl/ejbHanteraBinarImpuls/ReceiveBinaryMessage" xmlns:plnk="
http://docs.oasis-open.org/wsbpel/2.0/plnktype">
<types/>
<message name="JMSInputMessage">
<part name="part1" type="xsd:base64Binary"/>
</message>
<portType name="JMSInPortType">
<operation name="JMSInOperation">
<input name="input1" message="tns:JMSInputMessage"/>
</operation>
</portType>
<binding name="JMSInBinding" type="tns:JMSInPortType">
<jms:binding/>
<operation name="JMSInOperation">
<jms:operation destination="ReceiveBinaryMessageQueue" destinationType="Queue" transaction="NoTransaction" concurrencyMode="cc" maxConcurrentConsumers="1" redeliveryHandling="1:move(queue:ReceiveBinaryMessageCorruptQueue)"/>
<input name="input1">
<jms:message messageType="BytesMessage" bytesPart="part1"/>
</input>
</operation>
</binding>
<service name="JMSInService">
<port name="ReceiveBinaryMessage_InPort" binding="tns:JMSInBinding">
<jms:address connectionURL="lookup://jms/tx/wls1"/>
</port>
</service>
<plnk:partnerLinkType name="ReceiveBinaryMessage">
<!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes.
In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type.
A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles.-->
<plnk:role name="JMSInPortTypeRole" portType="tns:JMSInPortType"/>
</plnk:partnerLinkType>
</definitions>
I have tried using both forwardAsAttachment="true" and forwardAsAttachment="false" without success. The received byte[] is still of length 0.
I have also tried to receive the Binary JMS message as a TextMessage with attachments. I then get this contradictive error message:
"Received a JMS Message of type com.stc.jmsjca.core.WBytesMessageIn but the JMS binding specifies that the message has to be forwarded as attachment so valid types are TextNessage and BytesMessage."
Thanks
/Alex
SujitBiswas wrote:
Hi Alex,
ByteMessage is supported in jmsbc, the following are the option during
normalization while using byte message
1. forward as attachment (is true), in this case the bytes are forwarded
as attachment
2. else, the bytes are base64 encoded and sent as a text node
Can you please elaborate on the usecase, where you are trying to use
byteMessage.
-Sujit