Thanks for the link.

I assume I only have to create an interface class (not implemented) for
TestMtom that implements the exposed (testXop) operation.

Here is the exception I get whenever I run the sample code:

WARNING: Initial attempt to crate application context was unsuccessful.
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.apache.cxf.wsdl.WSDLManager' defined in URL
[jar:file:/E:/Work/Dev/Apps/TestDrivers/lib/cxf-2.2.3.jar!/META-INF/cxf/cxf.fixml]:
Instantiation of bean failed; nested exception is
org.springframework.beans.BeanInstantiationException: Could not instantiate
bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw
exception; nested exception is java.lang.ClassCastException:
org.apache.xerces.dom.DeferredDocumentTypeImpl
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)

Any idea?




Freeman Fang wrote:
> 
> Hi,
> 
> Take a look at cxf mtom over jms test[1], in this testcase, you can  
> find the way how cxf client send out soap/mtom message over jms  
> transport, hope this helps
> 
> [1]https://svn.apache.org/repos/asf/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopWithJMSTest.java
> Freeman
> On 2009-8-6, at 上午1:26, lekkie wrote:
> 
>>
>> Cant seem to get the the libraries? Can you point to a download site  
>> for me?
>> I downloaded cxf library from cxf.apache.org/download.html but it  
>> didnt
>> include classes for ServerLauncher, SpringTestSupport , TestMtom, in  
>> the jar
>>
>> I 'll assume assertEquals, assertNotNull, and fail are in the class
>> SpringTestSupport .
>>
>> Also, I 'll the startServers, tearDown, launchServer are not  
>> required for a
>> JMS producer client.
>>
>> Note: I am quite new to the cxf way of doing things.
>>
>> Thanks.
>>
>>
>>
>> Freeman Fang wrote:
>>>
>>> Hi,
>>>
>>> I don't think your java client send out a soap message.
>>> I think the better way is you should use cxf client with your wsdl
>>> sending soap/mtom message over jms transport
>>>
>>> Freeman
>>> On 2009-8-5, at 下午6:59, lekkie wrote:
>>>
>>>>
>>>> Thanks.
>>>>
>>>> I got this to work but got into another trouble.
>>>>
>>>> I followed the wsdl and edited as apt.
>>>>
>>>> Here is my own wsdl:
>>>>
>>>> <wsdl:definitions name="isServices"
>>>> xmlns:types="http://services.is/types
>>>> "
>>>>   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>>>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>>>>   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>>> xmlns:tns="http://services.is";
>>>>   xmlns:jms="http://cxf.apache.org/transports/jms";
>>>>   xmlns:xmime="http://www.w3.org/2005/05/xmlmime";
>>>> targetNamespace="http://services.is";>
>>>>
>>>>   <wsdl:types>
>>>>       <schema xmlns="http://www.w3.org/2001/XMLSchema";
>>>> targetNamespace="http://services.is/types";
>>>>           xmlns:xmime="http://www.w3.org/2005/05/xmlmime";
>>>> elementFormDefault="qualified">
>>>>           <complexType name="isBinary">
>>>>               <sequence>
>>>>                   <element name="name" type="xsd:string" />
>>>>                   <element name="attachinfo" type="xsd:base64Binary"
>>>> xmime:expectedContentTypes="application/octet-stream"/>
>>>>               </sequence>
>>>>           </complexType>
>>>>           <element name="isBinary" type="types:isBinaryType"/>
>>>>       </schema>
>>>>
>>>>   </wsdl:types>
>>>>
>>>>   <wsdl:message name="sendAttachmentRequest">
>>>>       <wsdl:part name="data" element="types:isBinary"/>
>>>>   </wsdl:message>
>>>>
>>>>
>>>>   <wsdl:portType name="isServicesPortType">
>>>>       <wsdl:operation name="sendAttachment">
>>>>           <wsdl:input message="tns:sendAttachmentRequest"/>
>>>>       </wsdl:operation>
>>>>   </wsdl:portType>
>>>>
>>>>
>>>>   <wsdl:binding name="isServicesBinding"
>>>> type="tns:isServicesPortType">
>>>>       <soap:binding style="document"
>>>> transport="http://schemas.xmlsoap.org/soap/http"; />
>>>>
>>>>       <wsdl:operation name="sendAttachment">
>>>>           <soap:operation soapAction="http://services.is/sendAttachment
>>>> "
>>>> />
>>>>           <wsdl:input>
>>>>               <soap:body use="literal" />
>>>>           </wsdl:input>
>>>>       </wsdl:operation>
>>>>   </wsdl:binding>
>>>>
>>>>   <wsdl:service name="isServices">
>>>>       <wsdl:port name="isServicesJmsPort"
>>>> binding="tns:isServicesBinding">
>>>>           <jms:address
>>>>              destinationStyle="queue"
>>>>              jndiConnectionFactoryName="ConnectionFactory"
>>>>              jndiDestinationName="dynamicQueues/i.s">
>>>>              <jms:JMSNamingProperty
>>>> name="java.naming.factory.initial"
>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>>>
>>>>              <jms:JMSNamingProperty name="java.naming.provider.url"
>>>> value="tcp://localhost:61616"/>
>>>>         </jms:address>
>>>>         <jms:client messageType="byte"/>
>>>>       </wsdl:port>
>>>>   </wsdl:service>
>>>> </wsdl:definitions>
>>>>
>>>> Here is my xbean for the JMS consumer:
>>>>
>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0";
>>>>        xmlns:is="http://services.is";>
>>>>
>>>>   <cxfbc:consumer wsdl="classpath:isServices.wsdl"
>>>>                 service="is:isServices"
>>>>                 targetService="is:isFTPWriter"
>>>>                    mtomEnabled="true"/>
>>>> </beans>
>>>>
>>>>
>>>> Here is the xbean for the target service which I guess is an in-only
>>>> MEP:
>>>>
>>>> <beans xmlns:ftp="http://servicemix.apache.org/ftp/1.0";
>>>>      xmlns:is="http://services.is";>
>>>>
>>>>  <bean id="myMarshaler"
>>>> class="org.apache.servicemix.components.util.BinaryFileMarshaler"/>
>>>>
>>>> <ftp:sender service="is:isFTPWriter"
>>>>                    endpoint="isFTPWriter"
>>>>                    uri="ftp://is:i...@localhost/";
>>>>                    overwrite="true"
>>>>                    uploadSuffix=".dat"
>>>>                    marshaler="#myMarshaler">
>>>> </ftp:sender>
>>>> </beans>
>>>>
>>>> The project is suppose to achieve the flow below:
>>>> JMS producer -> JMS Consumer -> NMR -> FTPWriter
>>>> where JMS producer is the java client code to send binary files
>>>>
>>>> Here is the java client  code for sending an attachment to the jms
>>>> consumer
>>>> String fileName = "file.dat";
>>>> byte[] payload = getBytesFromFile(fileName);
>>>> String dest = "dynamicQueues/i.s";
>>>> Properties env = new Properties();
>>>> if (System.getProperty("java.naming.provider.url") == null)
>>>> env.put("java.naming.provider.url", "tcp://localhost:61616");
>>>> if (System.getProperty("java.naming.factory.initial") == null)
>>>> env.put("java.naming.factory.initial",
>>>> "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
>>>> InitialContext ic = new InitialContext(env);
>>>> ConnectionFactory confac = (ConnectionFactory)
>>>> ic.lookup("ConnectionFactory");
>>>> Connection connection = confac.createConnection();
>>>> Session session = connection.createSession(false,
>>>> Session.AUTO_ACKNOWLEDGE);
>>>> MessageProducer producer = session.createProducer((Destination)
>>>> ic.lookup(dest));
>>>> BytesMessage bm = session.createBytesMessage();
>>>> bm.writeBytes(payload);
>>>> producer.send(bm);
>>>> connection.close();
>>>>
>>>> However I end up with this exception
>>>>
>>>> Aug 5, 2009 11:35:21 AM
>>>> org.apache.cxf.transport.jms.JMSDestination$JMSExecutor run
>>>> INFO: run the incoming message in the threadpool
>>>> Aug 5, 2009 11:35:21 AM org.apache.cxf.phase.PhaseInterceptorChain
>>>> doIntercept
>>>> INFO: Interceptor has thrown exception, unwinding now
>>>> org.apache.cxf.binding.soap.SoapFault: No namespace on "FRAMESET"
>>>> element.at
>>>> org 
>>>> .apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle
>>>> Message(ReadHeadersInterceptor.java:86)
>>>>       at
>>>> org 
>>>> .apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle
>>>> Message(ReadHeadersInterceptor.java:54)
>>>>       at
>>>> org 
>>>> .apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
>>>> orChain.java:220)
>>>>       at
>>>> org 
>>>> .apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
>>>> ationObserver.java:78)
>>>>       at
>>>> org 
>>>> .apache.cxf.transport.jms.JMSDestination.incoming(JMSDestination.j
>>>> ava:209)
>>>>       at
>>>> org.apache.cxf.transport.jms.JMSDestination 
>>>> $JMSExecutor.run(JMSDestin
>>>> ation.java:352)
>>>>       at
>>>> java.util.concurrent.ThreadPoolExecutor 
>>>> $Worker.runTask(ThreadPoolExec
>>>> utor.java:650)
>>>>       at
>>>> java.util.concurrent.ThreadPoolExecutor 
>>>> $Worker.run(ThreadPoolExecutor
>>>> .java:675)
>>>>       at java.lang.Thread.run(Thread.java:595)
>>>> Aug 5, 2009 11:35:21 AM org.apache.cxf.phase.PhaseInterceptorChain
>>>> doIntercept
>>>> INFO: Interceptor has thrown exception, unwinding now
>>>> java.lang.UnsupportedOperationException: A destination must be
>>>> specified.
>>>>       at
>>>> org 
>>>> .apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProdu
>>>> cer.java:195)
>>>>       at
>>>> org 
>>>> .apache.activemq.ActiveMQQueueSender.send(ActiveMQQueueSender.java
>>>> :133)
>>>>       at
>>>> org.apache.cxf.transport.jms.JMSDestination 
>>>> $JMSOutputStream.sendRespo
>>>> nse(JMSDestination.java:528)
>>>>       at
>>>> org.apache.cxf.transport.jms.JMSDestination 
>>>> $JMSOutputStream.commitOut
>>>> putMessage(JMSDestination.java:473)
>>>>       at
>>>> org.apache.cxf.transport.jms.JMSDestination 
>>>> $JMSOutputStream.doClose(J
>>>> MSDestination.java:547)
>>>>       at
>>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java: 
>>>> 16
>>>> 7)
>>>>       at
>>>> org 
>>>> .apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:6
>>>> 6)
>>>>       at
>>>> org.apache.cxf.interceptor.MessageSenderInterceptor 
>>>> $MessageSenderEndi
>>>> ngInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>>>>       at
>>>> org 
>>>> .apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
>>>> orChain.java:220)
>>>>       at
>>>> org 
>>>> .apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMess
>>>> age(AbstractFaultChainInitiatorObserver.java:96)
>>>>       at
>>>> org 
>>>> .apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
>>>> orChain.java:260)
>>>>       at
>>>> org 
>>>> .apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
>>>> ationObserver.java:78)
>>>>       at
>>>> org 
>>>> .apache.cxf.transport.jms.JMSDestination.incoming(JMSDestination.j
>>>> ava:209)
>>>>       at
>>>> org.apache.cxf.transport.jms.JMSDestination 
>>>> $JMSExecutor.run(JMSDestin
>>>> ation.java:352)
>>>>       at
>>>> java.util.concurrent.ThreadPoolExecutor 
>>>> $Worker.runTask(ThreadPoolExec
>>>> utor.java:650)
>>>>       at
>>>> java.util.concurrent.ThreadPoolExecutor 
>>>> $Worker.run(ThreadPoolExecutor
>>>> .java:675)
>>>>       at java.lang.Thread.run(Thread.java:595)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Freeman Fang wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> A couple of issues in your wsdl
>>>>> 1. The jms namespace in your wsdl isn't valid for cxf, it should be
>>>>> http://cxf.apache.org/transports/jms
>>>>> instead,
>>>>> 2. Also, the binding part in your wsdl is incorrect, it should use
>>>>> soap binding, but not jms binding, jms is transport, not binding.
>>>>> 3. To use mtom, your wsdl should define element with something like
>>>>> xmime:expectedContentTypes="application/octet-stream"
>>>>> 4. And the jms:address in your port part is incorrect.
>>>>>
>>>>> We have an wsdl example[1] how the wsdl should look like when use
>>>>> soap
>>>>> binding  over jms transport with mtom enabled,  and a testcase[2]
>>>>> which use this wsdl and in this testcase there's a cxf bc consumer
>>>>> using mtom/soap/jms, I guess you may need take a look at those
>>>>> example.
>>>>>
>>>>> [1]https://svn.apache.org/repos/asf/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/mtom_xop.wsdl
>>>>> [2]https://svn.apache.org/repos/asf/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/CxfBcHttpJmsBridgeMtomTest.java
>>>>>
>>>>> Freeman
>>>>> On 2009-8-4, at 下午8:17, lekkie wrote:
>>>>>
>>>>>>
>>>>>> Hi Freeman,
>>>>>>
>>>>>> After following your advice, I got this far.
>>>>>>
>>>>>> Here is the exception thrown during deployment of my sa:
>>>>>>
>>>>>> Caused by: org.apache.cxf.endpoint.EndpointException
>>>>>>
>>>>>>  at
>>>>>> org
>>>>>> .apache.cxf.endpoint.EndpointImpl.createBinding(EndpointImpl.java:
>>>>>> 132)
>>>>>>
>>>>>>  at org.apache.cxf.endpoint.EndpointImpl.<init>(EndpointImpl.java:
>>>>>> 81)
>>>>>>
>>>>>>  at
>>>>>> org
>>>>>> .apache 
>>>>>> .servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:
>>>>>> 402)
>>>>>>
>>>>>>  ... 13 more
>>>>>>
>>>>>> Caused by: org.apache.cxf.BusException: No binding factory for
>>>>>> namespace
>>>>>> http://schemas.sun.com/jbi/wsdl-extensions/jms/ registered.
>>>>>>
>>>>>>  at
>>>>>> org
>>>>>> .apache
>>>>>> .cxf
>>>>>> .binding
>>>>>> .BindingFactoryManagerImpl
>>>>>> .getBindingFactory(BindingFactoryManagerImpl.java:91)
>>>>>>
>>>>>>  at
>>>>>> org
>>>>>> .apache.cxf.endpoint.EndpointImpl.createBinding(EndpointImpl.java:
>>>>>> 129)
>>>>>>
>>>>>>  ... 15 more
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here is the content of my wsdl
>>>>>>
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <definitions name="isJMSConsumer" targetNamespace="http://services.is
>>>>>> "
>>>>>>  xmlns="http://schemas.xmlsoap.org/wsdl/";
>>>>>>  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>>>>>  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>>>>>> xmlns:tns="http://services.is";
>>>>>> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";
>>>>>> xmlns:jms="http://schemas.sun.com/jbi/wsdl-extensions/jms/";>
>>>>>>  <types/>
>>>>>>  <message name="isJMSConsumerOperationRequest">
>>>>>>      <part name="part1" type="xsd:base64Binary"/>
>>>>>>  </message>
>>>>>>  <portType name="isJMSConsumerPortType">
>>>>>>      <operation name="isJMSConsumerOperation">
>>>>>>          <input name="input1"
>>>>>> message="tns:isJMSConsumerOperationRequest"/>
>>>>>>      </operation>
>>>>>>  </portType>
>>>>>>  <binding name="isJMSConsumerBinding"
>>>>>> type="tns:isJMSConsumerPortType">
>>>>>>      <jms:binding/>
>>>>>>      <operation name="isJMSConsumerOperation">
>>>>>>          <jms:operation destination="Queue/A"
>>>>>> destinationType="Queue"/>
>>>>>>          <input name="input1">
>>>>>>              <jms:message messageType="BytesMessage"
>>>>>> bytesPart="part1"
>>>>>> forwardAsAttachment="true"/>
>>>>>>          </input>
>>>>>>      </operation>
>>>>>>  </binding>
>>>>>>  <service name="isJMSConsumerService">
>>>>>>      <port name="isJMSConsumerPort"
>>>>>> binding="tns:isJMSConsumerBinding">
>>>>>>          <jms:address connectionURL="mq://localhost:7676"/>
>>>>>>      </port>
>>>>>>  </service>
>>>>>>  <plnk:partnerLinkType name="isJMSConsumer">
>>>>>>      <plnk:role name="isJMSConsumerPortTypeRole"
>>>>>> portType="tns:isJMSConsumerPortType"/>
>>>>>>  </plnk:partnerLinkType>
>>>>>> </definitions>
>>>>>>
>>>>>>
>>>>>> and here is my xbean.xml
>>>>>>
>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0";
>>>>>>       xmlns:is="http://services.is";>
>>>>>>
>>>>>>  <!-- wsdlResource="classpath:isFileConsumer.wsdl" -->
>>>>>>
>>>>>>  <cxfbc:consumer wsdl="classpath:isJMSConsumer.wsdl"
>>>>>>                       service="is:isJMSConsumerService"
>>>>>>                       targetService="is:isFTPWriter"
>>>>>>                   mtomEnabled="true"/>
>>>>>> </beans>
>>>>>>
>>>>>>
>>>>>> thanks.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Freeman Fang wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> If you want to send attachment over soap with jms transport,  
>>>>>>> could
>>>>>>> you
>>>>>>> consider to  use the cxf bc component with mtom over jms  
>>>>>>> transport?
>>>>>>> Freeman
>>>>>>>
>>>>>>> On 2009-8-3, at 下午8:02, lekkie wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Guys,
>>>>>>>>
>>>>>>>> While trying to create a WSDL for my consumer JMS BC on
>>>>>>>> servicemix I
>>>>>>>> got the
>>>>>>>> following error
>>>>>>>>
>>>>>>>> <loc-message>WSDL is not WS-I BP compliant: [binding
>>>>>>>> "{http://services.is}isJMSFileConsumerInBinding"; : Basic Profile
>>>>>>>> Violation
>>>>>>>> #R2401: A wsdl:binding element in a DESCRIPTION MUST use WSDL  
>>>>>>>> SOAP
>>>>>>>> Binding
>>>>>>>> as defined in WSDL 1.1 Section 3.]</loc-message>
>>>>>>>> <stack-trace><![CDATA[javax.jbi.management.DeploymentException:
>>>>>>>> WSDL
>>>>>>>> is not
>>>>>>>> WS-I BP compliant: [binding "{http://
>>>>>>>> services.is}isJMSFileConsumerInBinding"
>>>>>>>> : Basic Profile Violation #R2401: A wsdl:binding element in a
>>>>>>>> DESCRIPTION
>>>>>>>> MUST use WSDL SOAP Binding as defined in WSDL 1.1 Section 3.]
>>>>>>>>
>>>>>>>>        at
>>>>>>>> org
>>>>>>>> .apache
>>>>>>>> .servicemix
>>>>>>>> .jms
>>>>>>>> .endpoints
>>>>>>>> .JmsSoapConsumerEndpoint
>>>>>>>> .validateWsdl1(JmsSoapConsumerEndpoint.java:
>>>>>>>> 198)
>>>>>>>>
>>>>>>>>        at
>>>>>>>> org
>>>>>>>> .apache
>>>>>>>> .servicemix
>>>>>>>> .jms
>>>>>>>> .endpoints
>>>>>>>> .JmsSoapConsumerEndpoint.validate(JmsSoapConsumerEndpoint.java:
>>>>>>>> 138)
>>>>>>>>
>>>>>>>> While the exception is in itself self explanatory, I ws  
>>>>>>>> wondering
>>>>>>>> what the
>>>>>>>> best way it is to generate a WSDL.
>>>>>>>>
>>>>>>>> Here is the WSDL I generated from Netbeans wizard:
>>>>>>>>
>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>> <definitions name="isJMSFileConsumer"
>>>>>>>> targetNamespace="http://services.is
>>>>>>>> "
>>>>>>>> xmlns="http://schemas.xmlsoap.org/wsdl/";
>>>>>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>>>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>>>>>>>> xmlns:tns="http://services.is";
>>>>>>>> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";
>>>>>>>> xmlns:jms="http://schemas.sun.com/jbi/wsdl-extensions/jms/";>
>>>>>>>> <types/>
>>>>>>>> <message name="isJMSFileConsumerInOperationRequest">
>>>>>>>>     <part name="part1" type="xsd:base64Binary"/>
>>>>>>>> </message>
>>>>>>>> <portType name="isJMSFileConsumerInPortType">
>>>>>>>>     <operation name="isJMSFileConsumerInOperation">
>>>>>>>>         <input name="input1"
>>>>>>>> message="tns:isJMSFileConsumerInOperationRequest"/>
>>>>>>>>     </operation>
>>>>>>>> </portType>
>>>>>>>> <binding name="isJMSFileConsumerInBinding"
>>>>>>>> type="tns:isJMSFileConsumerInPortType">
>>>>>>>>     <jms:binding/>
>>>>>>>>     <operation name="isJMSFileConsumerInOperation">
>>>>>>>>         <jms:operation destination="DefaultQueue"
>>>>>>>> destinationType="Queue"/>
>>>>>>>>         <input name="input1">
>>>>>>>>             <jms:message messageType="BytesMessage"
>>>>>>>> bytesPart="part1"/>
>>>>>>>>         </input>
>>>>>>>>     </operation>
>>>>>>>> </binding>
>>>>>>>> <service name="isJMSFileConsumerIn">
>>>>>>>>     <port name="isJMSFileConsumerInPortType"
>>>>>>>> binding="tns:isJMSFileConsumerInBinding">
>>>>>>>>         <jms:address connectionURL="mq://localhost:61616"/>
>>>>>>>>     </port>
>>>>>>>> </service>
>>>>>>>> <plnk:partnerLinkType name="isJMSFileConsumer">
>>>>>>>>     <!-- 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="isJMSFileConsumerInPortTypeRole"
>>>>>>>> portType="tns:isJMSFileConsumerInPortType"/>
>>>>>>>> </plnk:partnerLinkType>
>>>>>>>> </definitions>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> And here is the xbean.xml for this service unit
>>>>>>>>
>>>>>>>> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
>>>>>>>>       xmlns:is="http://services.is";
>>>>>>>>       xmlns:amqpool="http://jencks.org/amqpool/2.0";>
>>>>>>>>
>>>>>>>>
>>>>>>>>  <classpath>
>>>>>>>>             <location>.</location>
>>>>>>>> </classpath>
>>>>>>>>
>>>>>>>> <bean id="connectionFactory"
>>>>>>>> class="org.apache.activemq.pool.PooledConnectionFactory">
>>>>>>>>
>>>>>>>>     <property name="connectionFactory">
>>>>>>>>          <bean
>>>>>>>> class="org.apache.activemq.ActiveMQConnectionFactory">
>>>>>>>>                <property name="brokerURL" value="tcp://localhost:
>>>>>>>> 61616" />
>>>>>>>>          </bean>
>>>>>>>>     </property>
>>>>>>>>
>>>>>>>>     <!--Configure maximum connections used by the pool -->
>>>>>>>>     <property name="maxConnections" value="10" />
>>>>>>>>
>>>>>>>>     <!--Configure maximum sessions per connection -->
>>>>>>>>     <property name="maximumActive" value="10" />
>>>>>>>> </bean>
>>>>>>>>
>>>>>>>> <!-- add the sender endpoint here -->
>>>>>>>> <bean id="myMarshaler"
>>>>>>>> class
>>>>>>>> ="org.apache.servicemix.components.util.BinaryFileMarshaler"/>
>>>>>>>>
>>>>>>>> <jms:soap-consumer service="is:isJMSFileConsumer"
>>>>>>>>                       endpoint="isJMSFileConsumer"
>>>>>>>>                       wsdl="classpath:isJMSFileConsumer.wsdl"
>>>>>>>>                       validateWsdl="true"
>>>>>>>>                       targetService="is:isFTPWriter"
>>>>>>>>                       destinationName="queue/A/Soap"
>>>>>>>>                       connectionFactory="#connectionFactory"/>
>>>>>>>> </beans>
>>>>>>>>
>>>>>>>> What is the best way to generate a WSDL for a binary message
>>>>>>>> (attachment)
>>>>>>>> through JMS BC over SOAP?
>>>>>>>>
>>>>>>>> kr.
>>>>>>>> -- 
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/Binary-Message-WSDL-for-JMS-BC-%28Consumer%29-tp24789561p24789561.html
>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Freeman Fang
>>>>>>> ------------------------
>>>>>>> Open Source SOA: http://fusesource.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/Binary-Message-WSDL-for-JMS-BC-%28Consumer%29-tp24789561p24807302.html
>>>>>> Sent from the ServiceMix - User mailing list archive at  
>>>>>> Nabble.com.
>>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Freeman Fang
>>>>> ------------------------
>>>>> Open Source SOA: http://fusesource.com
>>>>>
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context:
>>>> http://www.nabble.com/Binary-Message-WSDL-for-JMS-BC-%28Consumer%29-tp24789561p24824802.html
>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>> -- 
>>> Freeman Fang
>>> ------------------------
>>> Open Source SOA: http://fusesource.com
>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/Binary-Message-WSDL-for-JMS-BC-%28Consumer%29-tp24789561p24832494.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
> 
> 
> -- 
> Freeman Fang
> ------------------------
> Open Source SOA: http://fusesource.com
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Binary-Message-WSDL-for-JMS-BC-%28Consumer%29-tp24789561p24850860.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to