You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Jackey Ding <no...@gmail.com> on 2008/04/25 07:17:26 UTC

CXF-bc test case runs ok, but error message show in the smx console

hi,

I just run some cxf-bc tests in smx. All the cases are run ok, but I found
some error message show in the smx console. Is something wrong with my
configurations?

2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
严重: JMSClientTransport.receive() timed out. No message available.
ERROR - CxfBcComponent                 - Error processing exchange InOnly[
  id: ID:192.168.1.8-11983ed72fd-4:3
  status: Active
  role: provider
  service: {http://cxf.apache.org/jms_greeter}JMSGreeterService
  endpoint: GreeterPort
  operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay
  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
http://cxf.apache.org/j
ms_greeter" name="greetMeOneWayRequest" type="msg:greetMeOneWayRequest"
version="1.0"><jbi:part><greetMeOneWay xmlns="
http://cxf.apache.org/jms_greete
r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
]
java.io.IOException: javax.jms.JMSException: JMSClientTransport.receive()
timed out. No message available.
        at
org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
        at
org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
        at
org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
        at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

Thanks & best regards
Jackey

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Jackey Ding <no...@gmail.com>.
Thanks Freeman, it works ok now.

Jackey

2008/4/29 Freeman Fang <fr...@gmail.com>:

> Hi Jackey,
>
> According to your wsdl, the sayHi method should have no input argument,
> the soap message of sayHi invocation should be
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><sayHi
> xmlns="http://apache.org/hello_world_soap_http/types
> "/></soap:Body></soap:Envelope>
> But not
>
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>              xmlns:greeter="http://cxf.apache.org/jms_greeter">
>  <env:Body>
>    <greeter:sayHi>
>      <greeter:sayHiRequest>world</greeter:sayHiRequest>
>    </greeter:sayHi>
>  </env:Body>
> </env:Envelope>
>
>
> The soap message from your JMeter is incorrect, which cause cxf
> component failed to get operation according to service model (service
> model is built from wsdl model)
>
> Regards
> Freeman
>
> Jackey Ding wrote:
> > Hi freeman,
> >
> > I think this question is not very SMX about, but could you give me any
> > clue from the error message when I run a soap/JMS test using JMeter?
> >
> > 2008-4-29 11:22:48
> org.apache.cxf.transport.jms.JMSDestination$JMSExecutor
> > run
> > 信息: run the incoming message in the threadpool
> > 2008-4-29 11:22:48 org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> > 信息: Interceptor has thrown exception, unwinding now
> > org.apache.cxf.interceptor.Fault: Operation not bound on this message
> >         at
> >
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getOperation(JbiInWsdl1Interceptor.java:270)
> >         at
> >
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:98)
> >         at
> >
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:61)
> >         at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> >         at
> >
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
> >         at
> >
> org.apache.cxf.transport.jms.JMSDestination.incoming(JMSDestination.java:205)
> >         at
> >
> org.apache.cxf.transport.jms.JMSDestination$JMSExecutor.run(JMSDestination.java:338)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> >         at java.lang.Thread.run(Thread.java:595)
> > Caused by: java.lang.Exception: Operation not bound on this message
> >         ... 10 more
> >
> > My soap request message is:
> > <?xml version="1.0" encoding="UTF-8"?>
> > <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> >               xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >   <env:Body>
> >     <greeter:sayHi>
> >       <greeter:sayHiRequest>world</greeter:sayHiRequest>
> >     </greeter:sayHi>
> >   </env:Body>
> > </env:Envelope>
> >
> > The Response I get from SMX is:
> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> >  <soap:Body>
> >   <soap:Fault>
> >    <faultcode>soap:Server</faultcode>
> >    <faultstring>Operation not bound on this message</faultstring>
> >   </soap:Fault>
> >  </soap:Body>
> > </soap:Envelope>
> >
> > Thanks & best regards
> > Jackey
> >
> > 2008/4/28 Freeman Fang <fr...@gmail.com>:
> >
> >
> >> Sorry so far no experience with JMeter.
> >>
> >> Freeman
> >>
> >> Jackey Ding wrote:
> >>
> >>> Hi Freeman,
> >>>
> >>> Now I am trying to use JMeter having a load test on the case that I
> >>>
> >> showed
> >>
> >>> to you in this mail.
> >>> Do you have any experience working on it that can share with us?
> >>>
> >>> Thanks & best regards
> >>> Jackey
> >>>
> >>> 2008/4/28 Jackey Ding <no...@gmail.com>:
> >>>
> >>>
> >>>
> >>>> Ok, Thanks Freeman.
> >>>>
> >>>> Jackey
> >>>>
> >>>> 2008/4/28 Freeman Fang <fr...@gmail.com>:
> >>>>
> >>>> Btw, you shouldn't use locationURI for the cxf bc provider
> >>>>
> >> configuration
> >>
> >>>>> with jms transport, we just parse it from the wsdl.
> >>>>>
> >>>>> Cheers
> >>>>>
> >>>>> Freeman
> >>>>>
> >>>>> Freeman Fang wrote:
> >>>>>
> >>>>>
> >>>>>> Hi Jackey,
> >>>>>>
> >>>>>> get this issue fixed
> >>>>>>
> >>>>>> Freeman
> >>>>>>
> >>>>>> Freeman Fang wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Hi Jackey,
> >>>>>>>
> >>>>>>> >From the log, JMSConduit shouldn't wait for response since it's
> >>>>>>>
> >>>>>>>
> >>>>> oneway
> >>>>>
> >>>>>
> >>>>>>> method.
> >>>>>>> I go through the code and found there is a bug for oneway
> >>>>>>>
> >> invocation,
> >>
> >>>>>>> fill jira [1] to track it.
> >>>>>>>
> >>>>>>> I will fix it up asap
> >>>>>>> [1]https://issues.apache.org/activemq/browse/SM-1334
> >>>>>>>
> >>>>>>> Freeman
> >>>>>>>
> >>>>>>> Jackey Ding wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> Any response?
> >>>>>>>>
> >>>>>>>> Jackey
> >>>>>>>>
> >>>>>>>> 2008/4/25 Jackey Ding <no...@gmail.com>:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>  Hi Freeman,
> >>>>>>>>>
> >>>>>>>>> 1. I have a JMS provider running outside of SMX, the WSDL is
> >>>>>>>>> <wsdl:definitions name="JMSGreeterService"
> >>>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> >>>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> >>>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >>>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> >>>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> >>>>>>>>>     <wsdl:types>
> >>>>>>>>>         <schema targetNamespace="
> >>>>>>>>>
> >>>>>>>>>
> >>>>> http://cxf.apache.org/jms_greeter/types"
> >>>>>
> >>>>>
> >>>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> >>>>>>>>> elementFormDefault="qualified">
> >>>>>>>>>             <element name="sayHi">
> >>>>>>>>>                 <complexType/>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="sayHiResponse">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="responseType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="greetMe">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="requestType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="greetMeResponse">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="responseType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="greetMeOneWay">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="requestType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>         </schema>
> >>>>>>>>>     </wsdl:types>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:message name="sayHiRequest">
> >>>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="sayHiResponse">
> >>>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="greetMeRequest">
> >>>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="greetMeResponse">
> >>>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
> >>>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
> >>>>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>>>             <wsdl:input message="tns:sayHiRequest"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> name="sayHiRequest"/>
> >>>>>
> >>>>>
> >>>>>>>>>             <wsdl:output message="tns:sayHiResponse"
> >>>>>>>>> name="sayHiResponse"/>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>>>             <wsdl:input message="tns:greetMeRequest"
> >>>>>>>>> name="greetMeRequest"/>
> >>>>>>>>>             <wsdl:output message="tns:greetMeResponse"
> >>>>>>>>> name="greetMeResponse"/>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> >>>>>>>>> name="greetMeOneWayRequest"/>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>     </wsdl:portType>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
> >>>>>>>>> type="tns:JMSGreeterPortType">
> >>>>>>>>>         <soap:binding style="document" transport="
> >>>>>>>>> http://cxf.apache.org/transport/jms"/<
> >>>>>>>>>
> >>>>>>>>>
> >>>>> http://cxf.apache.org/transport/jms%22/>
> >>>>>
> >>>>>
> >>>>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>>>             <wsdl:input name="greetMeRequest">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:input>
> >>>>>>>>>             <wsdl:output name="greetMeResponse">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:output>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>>>             <wsdl:input name="sayHiRequest">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:input>
> >>>>>>>>>             <wsdl:output name="sayHiResponse">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:output>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>>>             <soap:operation soapaction="" style="document"/>
> >>>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:input>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>     </wsdl:binding>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:service name="JMSGreeterService">
> >>>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> >>>>>>>>> name="GreeterPort">
> >>>>>>>>>                <jms:address
> >>>>>>>>>                    destinationStyle="queue"
> >>>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
> >>>>>>>>>
> >>>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> >>>>>>>>>
> >>>>>>>>>                    <jms:JMSNamingProperty
> >>>>>>>>> name="java.naming.factory.initial"
> >>>>>>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
> >>>>>>>>>                    <jms:JMSNamingProperty
> >>>>>>>>>
> >>>>>>>>>
> >>>>> name="java.naming.provider.url"
> >>>>>
> >>>>>
> >>>>>>>>> value="tcp://yfgm-2003b:61616"/>
> >>>>>>>>>
> >>>>>>>>>               </jms:address>
> >>>>>>>>>            </wsdl:port>
> >>>>>>>>>     </wsdl:service>
> >>>>>>>>> </wsdl:definitions>
> >>>>>>>>>
> >>>>>>>>> 2. I create a CXF-BC provider to communicate with that serivce.
> >>>>>>>>>
> >> the
> >>
> >>>>> wsdl
> >>>>>
> >>>>>
> >>>>>>>>> is just as the same with above, the xbean.xml is
> >>>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
> >>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> >>>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >>>>>>>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
> >>>>>>>>>             locationURI="tcp://yfgm-2003b:61616"
> >>>>>>>>>                       service="greeter:JMSGreeterService"
> >>>>>>>>>                       endpoint="GreeterPort"/>
> >>>>>>>>> </beans>
> >>>>>>>>>
> >>>>>>>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
> >>>>>>>>>
> >>>>>>>>>
> >>>>> application
> >>>>>
> >>>>>
> >>>>>>>>> can access the service via SMX, the xbean.xml is
> >>>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
> >>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> >>>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >>>>>>>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
> >>>>>>>>>             service="greeter:JMSGreeterService"
> >>>>>>>>>            endpoint="GreeterPort2"
> >>>>>>>>>                       targetEndpoint="GreeterPort"
> >>>>>>>>>                       targetService="greeter:JMSGreeterService"
> >>>>>>>>>                       />
> >>>>>>>>> </beans>
> >>>>>>>>>
> >>>>>>>>> And the WSDL is
> >>>>>>>>> <wsdl:definitions name="JMSGreeterService"
> >>>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> >>>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> >>>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >>>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> >>>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> >>>>>>>>>     <wsdl:types>
> >>>>>>>>>         <schema targetNamespace="
> >>>>>>>>>
> >>>>>>>>>
> >>>>> http://cxf.apache.org/jms_greeter/types"
> >>>>>
> >>>>>
> >>>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> >>>>>>>>> elementFormDefault="qualified">
> >>>>>>>>>             <element name="sayHi">
> >>>>>>>>>                 <complexType/>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="sayHiResponse">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="responseType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="greetMe">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="requestType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="greetMeResponse">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="responseType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>             <element name="greetMeOneWay">
> >>>>>>>>>                 <complexType>
> >>>>>>>>>                     <sequence>
> >>>>>>>>>                         <element name="requestType"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> type="xsd:string"/>
> >>>>>
> >>>>>
> >>>>>>>>>                     </sequence>
> >>>>>>>>>                 </complexType>
> >>>>>>>>>             </element>
> >>>>>>>>>         </schema>
> >>>>>>>>>     </wsdl:types>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:message name="sayHiRequest">
> >>>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="sayHiResponse">
> >>>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="greetMeRequest">
> >>>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="greetMeResponse">
> >>>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
> >>>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> >>>>>>>>>     </wsdl:message>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
> >>>>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>>>             <wsdl:input message="tns:sayHiRequest"
> >>>>>>>>>
> >>>>>>>>>
> >>>>> name="sayHiRequest"/>
> >>>>>
> >>>>>
> >>>>>>>>>             <wsdl:output message="tns:sayHiResponse"
> >>>>>>>>> name="sayHiResponse"/>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>>>             <wsdl:input message="tns:greetMeRequest"
> >>>>>>>>> name="greetMeRequest"/>
> >>>>>>>>>             <wsdl:output message="tns:greetMeResponse"
> >>>>>>>>> name="greetMeResponse"/>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> >>>>>>>>> name="greetMeOneWayRequest"/>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>     </wsdl:portType>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
> >>>>>>>>> type="tns:JMSGreeterPortType">
> >>>>>>>>>         <soap:binding style="document" transport="
> >>>>>>>>> http://cxf.apache.org/transport/jms"/<
> >>>>>>>>>
> >>>>>>>>>
> >>>>> http://cxf.apache.org/transport/jms%22/>
> >>>>>
> >>>>>
> >>>>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>>>             <wsdl:input name="greetMeRequest">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:input>
> >>>>>>>>>             <wsdl:output name="greetMeResponse">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:output>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>>>             <wsdl:input name="sayHiRequest">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:input>
> >>>>>>>>>             <wsdl:output name="sayHiResponse">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:output>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>
> >>>>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>>>             <soap:operation style="document"/>
> >>>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
> >>>>>>>>>                 <soap:body use="literal"/>
> >>>>>>>>>             </wsdl:input>
> >>>>>>>>>         </wsdl:operation>
> >>>>>>>>>     </wsdl:binding>
> >>>>>>>>>
> >>>>>>>>>     <wsdl:service name="JMSGreeterService">
> >>>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> >>>>>>>>> name="GreeterPort2">
> >>>>>>>>>                <jms:address
> >>>>>>>>>                    destinationStyle="queue"
> >>>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
> >>>>>>>>>
> >>>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> >>>>>>>>>
> >>>>>>>>>                    <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>
> >>>>>>>>>            </wsdl:port>
> >>>>>>>>>     </wsdl:service>
> >>>>>>>>> </wsdl:definitions>
> >>>>>>>>>
> >>>>>>>>> 4. Then I run the client, the error occur like I show in the
> >>>>>>>>>
> >>>>>>>>>
> >>>>> pervious
> >>>>>
> >>>>>
> >>>>>>>>> mail.
> >>>>>>>>> public final class Client {
> >>>>>>>>>     private Client() {
> >>>>>>>>>     }
> >>>>>>>>>     public static void main(String[] args) throws Exception {
> >>>>>>>>>
> >>>>>>>>>         if (args.length == 0) {
> >>>>>>>>>             System.out.println("please specify wsdl");
> >>>>>>>>>             System.exit(1);
> >>>>>>>>>         }
> >>>>>>>>>
> >>>>>>>>>         if (args.length == 1) {
> >>>>>>>>>             System.out.println("please specify url");
> >>>>>>>>>             System.exit(1);
> >>>>>>>>>         }
> >>>>>>>>>
> >>>>>>>>>         if (args.length == 2) {
> >>>>>>>>>             System.out.println("please specify Service Name");
> >>>>>>>>>             System.exit(1);
> >>>>>>>>>         }
> >>>>>>>>>
> >>>>>>>>>         if (args.length == 3) {
> >>>>>>>>>             System.out.println("please specify Port Name");
> >>>>>>>>>             System.exit(1);
> >>>>>>>>>         }
> >>>>>>>>>
> >>>>>>>>>         final QName SERVICE_NAME =
> >>>>>>>>>             new QName(args[1], args[2]);
> >>>>>>>>>         final QName PORT_NAME =
> >>>>>>>>>             new QName(args[1], args[3]);
> >>>>>>>>>         File wsdl = new File(args[0]);
> >>>>>>>>>         JMSGreeterService service = new
> >>>>>>>>>
> >>>>>>>>>
> >>>>> JMSGreeterService(wsdl.toURL(),
> >>>>>
> >>>>>
> >>>>>>>>> SERVICE_NAME);
> >>>>>>>>>         JMSGreeterPortType greeter =
> >>>>>>>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
> >>>>>>>>>
> >>>>>>>>>
> >>>>> JMSGreeterPortType.class);
> >>>>>
> >>>>>
> >>>>>>>>>         System.out.println("Invoking sayHi...");
> >>>>>>>>>         System.out.println("server responded with: " +
> >>>>>>>>>
> >>>>>>>>>
> >>>>> greeter.sayHi());
> >>>>>
> >>>>>
> >>>>>>>>>         System.out.println();
> >>>>>>>>>         System.out.println("Invoking greetMe...");
> >>>>>>>>>         System.out.println("server responded with: " +
> >>>>>>>>> greeter.greetMe(System.getProperty("user.name")));
> >>>>>>>>>         System.out.println();
> >>>>>>>>>         System.out.println("Invoking greetMeOneWay...");
> >>>>>>>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
> >>>>>>>>>         System.out.println("No response from server as method is
> >>>>>>>>>
> >>>>>>>>>
> >>>>> OneWay");
> >>>>>
> >>>>>
> >>>>>>>>>         System.out.println();
> >>>>>>>>>
> >>>>>>>>>         System.exit(0);
> >>>>>>>>>     }
> >>>>>>>>> }
> >>>>>>>>> Thanks & best regards
> >>>>>>>>> Jackey
> >>>>>>>>>
> >>>>>>>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
> >>>>>>>>>
> >>>>>>>>> Hi Jackey,
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> How you run the tests in smx? Using maven?
> >>>>>>>>>> And just append your configuration.
> >>>>>>>>>>
> >>>>>>>>>> Regards
> >>>>>>>>>>
> >>>>>>>>>> Freeman
> >>>>>>>>>>
> >>>>>>>>>> Jackey Ding wrote:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> hi,
> >>>>>>>>>>>
> >>>>>>>>>>> I just run some cxf-bc tests in smx. All the cases are run ok,
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>> but I
> >>>>>
> >>>>>
> >>>>>>>>>>>
> >>>>>>>>>> found
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> some error message show in the smx console. Is something wrong
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>> with my
> >>>>>
> >>>>>
> >>>>>>>>>>> configurations?
> >>>>>>>>>>>
> >>>>>>>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>> receive
> >>>>>
> >>>>>
> >>>>>>>>>>> 严重: JMSClientTransport.receive() timed out. No message
> >>>>>>>>>>>
> >> available.
> >>
> >>>>>>>>>>> ERROR - CxfBcComponent                 - Error processing
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>> exchange
> >>>>>
> >>>>>
> >>>>>>>>>>>
> >>>>>>>>>> InOnly[
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
> >>>>>>>>>>>   status: Active
> >>>>>>>>>>>   role: provider
> >>>>>>>>>>>   service: {
> http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >>>>>>>>>>>
> >> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >>
> >>>>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >>>>>
> >>>>>
> >>>>>>>>>>>   endpoint: GreeterPort
> >>>>>>>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >>>>>>>>>>>
> >> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >>
> >>>>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >>>>>
> >>>>>
> >>>>>>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>> xmlns:jbi="
> >>>>>
> >>>>>
> >>>>>>>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> >>>>>>>>>>> http://cxf.apache.org/j
> >>>>>>>>>>> ms_greeter" name="greetMeOneWayRequest"
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>> type="msg:greetMeOneWayRequest"
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
> >>>>>>>>>>> http://cxf.apache.org/jms_greete
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> >>
> >>>>>>>>>>
> >>>>>>>>>>> ]
> >>>>>>>>>>> java.io.IOException: javax.jms.JMSException:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>> JMSClientTransport.receive()
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> timed out. No message available.
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> >>
> >>>>>>>>>>
> >>>>>>>>>>>         at java.lang.Thread.run(Thread.java:595)
> >>>>>>>>>>>
> >>>>>>>>>>> Thanks & best regards
> >>>>>>>>>>> Jackey
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>
> >>
>
>

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Hi Jackey,

According to your wsdl, the sayHi method should have no input argument,
the soap message of sayHi invocation should be
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><sayHi
xmlns="http://apache.org/hello_world_soap_http/types"/></soap:Body></soap:Envelope>
But not

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
              xmlns:greeter="http://cxf.apache.org/jms_greeter">
  <env:Body>
    <greeter:sayHi>
      <greeter:sayHiRequest>world</greeter:sayHiRequest>
    </greeter:sayHi>
  </env:Body>
</env:Envelope>


The soap message from your JMeter is incorrect, which cause cxf
component failed to get operation according to service model (service
model is built from wsdl model)

Regards
Freeman

Jackey Ding wrote:
> Hi freeman,
>
> I think this question is not very SMX about, but could you give me any
> clue from the error message when I run a soap/JMS test using JMeter?
>
> 2008-4-29 11:22:48 org.apache.cxf.transport.jms.JMSDestination$JMSExecutor
> run
> 信息: run the incoming message in the threadpool
> 2008-4-29 11:22:48 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> 信息: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Operation not bound on this message
>         at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getOperation(JbiInWsdl1Interceptor.java:270)
>         at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:98)
>         at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:61)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>         at
> org.apache.cxf.transport.jms.JMSDestination.incoming(JMSDestination.java:205)
>         at
> org.apache.cxf.transport.jms.JMSDestination$JMSExecutor.run(JMSDestination.java:338)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.Exception: Operation not bound on this message
>         ... 10 more
>
> My soap request message is:
> <?xml version="1.0" encoding="UTF-8"?>
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>               xmlns:greeter="http://cxf.apache.org/jms_greeter">
>   <env:Body>
>     <greeter:sayHi>
>       <greeter:sayHiRequest>world</greeter:sayHiRequest>
>     </greeter:sayHi>
>   </env:Body>
> </env:Envelope>
>
> The Response I get from SMX is:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>  <soap:Body>
>   <soap:Fault>
>    <faultcode>soap:Server</faultcode>
>    <faultstring>Operation not bound on this message</faultstring>
>   </soap:Fault>
>  </soap:Body>
> </soap:Envelope>
>
> Thanks & best regards
> Jackey
>
> 2008/4/28 Freeman Fang <fr...@gmail.com>:
>
>   
>> Sorry so far no experience with JMeter.
>>
>> Freeman
>>
>> Jackey Ding wrote:
>>     
>>> Hi Freeman,
>>>
>>> Now I am trying to use JMeter having a load test on the case that I
>>>       
>> showed
>>     
>>> to you in this mail.
>>> Do you have any experience working on it that can share with us?
>>>
>>> Thanks & best regards
>>> Jackey
>>>
>>> 2008/4/28 Jackey Ding <no...@gmail.com>:
>>>
>>>
>>>       
>>>> Ok, Thanks Freeman.
>>>>
>>>> Jackey
>>>>
>>>> 2008/4/28 Freeman Fang <fr...@gmail.com>:
>>>>
>>>> Btw, you shouldn't use locationURI for the cxf bc provider
>>>>         
>> configuration
>>     
>>>>> with jms transport, we just parse it from the wsdl.
>>>>>
>>>>> Cheers
>>>>>
>>>>> Freeman
>>>>>
>>>>> Freeman Fang wrote:
>>>>>
>>>>>           
>>>>>> Hi Jackey,
>>>>>>
>>>>>> get this issue fixed
>>>>>>
>>>>>> Freeman
>>>>>>
>>>>>> Freeman Fang wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Hi Jackey,
>>>>>>>
>>>>>>> >From the log, JMSConduit shouldn't wait for response since it's
>>>>>>>
>>>>>>>               
>>>>> oneway
>>>>>
>>>>>           
>>>>>>> method.
>>>>>>> I go through the code and found there is a bug for oneway
>>>>>>>               
>> invocation,
>>     
>>>>>>> fill jira [1] to track it.
>>>>>>>
>>>>>>> I will fix it up asap
>>>>>>> [1]https://issues.apache.org/activemq/browse/SM-1334
>>>>>>>
>>>>>>> Freeman
>>>>>>>
>>>>>>> Jackey Ding wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> Any response?
>>>>>>>>
>>>>>>>> Jackey
>>>>>>>>
>>>>>>>> 2008/4/25 Jackey Ding <no...@gmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>  Hi Freeman,
>>>>>>>>>
>>>>>>>>> 1. I have a JMS provider running outside of SMX, the WSDL is
>>>>>>>>> <wsdl:definitions name="JMSGreeterService"
>>>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>>>>>>     <wsdl:types>
>>>>>>>>>         <schema targetNamespace="
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/jms_greeter/types"
>>>>>
>>>>>           
>>>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>>>>>>> elementFormDefault="qualified">
>>>>>>>>>             <element name="sayHi">
>>>>>>>>>                 <complexType/>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="sayHiResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMe">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeOneWay">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>         </schema>
>>>>>>>>>     </wsdl:types>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     <wsdl:message name="sayHiRequest">
>>>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="sayHiResponse">
>>>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeResponse">
>>>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>
>>>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <wsdl:input message="tns:sayHiRequest"
>>>>>>>>>
>>>>>>>>>                   
>>>>> name="sayHiRequest"/>
>>>>>
>>>>>           
>>>>>>>>>             <wsdl:output message="tns:sayHiResponse"
>>>>>>>>> name="sayHiResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <wsdl:input message="tns:greetMeRequest"
>>>>>>>>> name="greetMeRequest"/>
>>>>>>>>>             <wsdl:output message="tns:greetMeResponse"
>>>>>>>>> name="greetMeResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>>>>>>> name="greetMeOneWayRequest"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:portType>
>>>>>>>>>
>>>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>>>>>>> type="tns:JMSGreeterPortType">
>>>>>>>>>         <soap:binding style="document" transport="
>>>>>>>>> http://cxf.apache.org/transport/jms"/<
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/transport/jms%22/>
>>>>>
>>>>>           
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="greetMeResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="sayHiRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="sayHiResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <soap:operation soapaction="" style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:binding>
>>>>>>>>>
>>>>>>>>>     <wsdl:service name="JMSGreeterService">
>>>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>>>>>>> name="GreeterPort">
>>>>>>>>>                <jms:address
>>>>>>>>>                    destinationStyle="queue"
>>>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>>>>>>
>>>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>>>>>>
>>>>>>>>>                    <jms:JMSNamingProperty
>>>>>>>>> name="java.naming.factory.initial"
>>>>>>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>>>>>>>>                    <jms:JMSNamingProperty
>>>>>>>>>
>>>>>>>>>                   
>>>>> name="java.naming.provider.url"
>>>>>
>>>>>           
>>>>>>>>> value="tcp://yfgm-2003b:61616"/>
>>>>>>>>>
>>>>>>>>>               </jms:address>
>>>>>>>>>            </wsdl:port>
>>>>>>>>>     </wsdl:service>
>>>>>>>>> </wsdl:definitions>
>>>>>>>>>
>>>>>>>>> 2. I create a CXF-BC provider to communicate with that serivce.
>>>>>>>>>                   
>> the
>>     
>>>>> wsdl
>>>>>
>>>>>           
>>>>>>>>> is just as the same with above, the xbean.xml is
>>>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>>>>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>>>>>>>>>             locationURI="tcp://yfgm-2003b:61616"
>>>>>>>>>                       service="greeter:JMSGreeterService"
>>>>>>>>>                       endpoint="GreeterPort"/>
>>>>>>>>> </beans>
>>>>>>>>>
>>>>>>>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
>>>>>>>>>
>>>>>>>>>                   
>>>>> application
>>>>>
>>>>>           
>>>>>>>>> can access the service via SMX, the xbean.xml is
>>>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>>>>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>>>>>>>>>             service="greeter:JMSGreeterService"
>>>>>>>>>            endpoint="GreeterPort2"
>>>>>>>>>                       targetEndpoint="GreeterPort"
>>>>>>>>>                       targetService="greeter:JMSGreeterService"
>>>>>>>>>                       />
>>>>>>>>> </beans>
>>>>>>>>>
>>>>>>>>> And the WSDL is
>>>>>>>>> <wsdl:definitions name="JMSGreeterService"
>>>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>>>>>>     <wsdl:types>
>>>>>>>>>         <schema targetNamespace="
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/jms_greeter/types"
>>>>>
>>>>>           
>>>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>>>>>>> elementFormDefault="qualified">
>>>>>>>>>             <element name="sayHi">
>>>>>>>>>                 <complexType/>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="sayHiResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMe">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeOneWay">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>         </schema>
>>>>>>>>>     </wsdl:types>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     <wsdl:message name="sayHiRequest">
>>>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="sayHiResponse">
>>>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeResponse">
>>>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>
>>>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <wsdl:input message="tns:sayHiRequest"
>>>>>>>>>
>>>>>>>>>                   
>>>>> name="sayHiRequest"/>
>>>>>
>>>>>           
>>>>>>>>>             <wsdl:output message="tns:sayHiResponse"
>>>>>>>>> name="sayHiResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <wsdl:input message="tns:greetMeRequest"
>>>>>>>>> name="greetMeRequest"/>
>>>>>>>>>             <wsdl:output message="tns:greetMeResponse"
>>>>>>>>> name="greetMeResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>>>>>>> name="greetMeOneWayRequest"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:portType>
>>>>>>>>>
>>>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>>>>>>> type="tns:JMSGreeterPortType">
>>>>>>>>>         <soap:binding style="document" transport="
>>>>>>>>> http://cxf.apache.org/transport/jms"/<
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/transport/jms%22/>
>>>>>
>>>>>           
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="greetMeResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="sayHiRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="sayHiResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <soap:operation style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:binding>
>>>>>>>>>
>>>>>>>>>     <wsdl:service name="JMSGreeterService">
>>>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>>>>>>> name="GreeterPort2">
>>>>>>>>>                <jms:address
>>>>>>>>>                    destinationStyle="queue"
>>>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>>>>>>
>>>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>>>>>>
>>>>>>>>>                    <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>
>>>>>>>>>            </wsdl:port>
>>>>>>>>>     </wsdl:service>
>>>>>>>>> </wsdl:definitions>
>>>>>>>>>
>>>>>>>>> 4. Then I run the client, the error occur like I show in the
>>>>>>>>>
>>>>>>>>>                   
>>>>> pervious
>>>>>
>>>>>           
>>>>>>>>> mail.
>>>>>>>>> public final class Client {
>>>>>>>>>     private Client() {
>>>>>>>>>     }
>>>>>>>>>     public static void main(String[] args) throws Exception {
>>>>>>>>>
>>>>>>>>>         if (args.length == 0) {
>>>>>>>>>             System.out.println("please specify wsdl");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (args.length == 1) {
>>>>>>>>>             System.out.println("please specify url");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (args.length == 2) {
>>>>>>>>>             System.out.println("please specify Service Name");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (args.length == 3) {
>>>>>>>>>             System.out.println("please specify Port Name");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         final QName SERVICE_NAME =
>>>>>>>>>             new QName(args[1], args[2]);
>>>>>>>>>         final QName PORT_NAME =
>>>>>>>>>             new QName(args[1], args[3]);
>>>>>>>>>         File wsdl = new File(args[0]);
>>>>>>>>>         JMSGreeterService service = new
>>>>>>>>>
>>>>>>>>>                   
>>>>> JMSGreeterService(wsdl.toURL(),
>>>>>
>>>>>           
>>>>>>>>> SERVICE_NAME);
>>>>>>>>>         JMSGreeterPortType greeter =
>>>>>>>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
>>>>>>>>>
>>>>>>>>>                   
>>>>> JMSGreeterPortType.class);
>>>>>
>>>>>           
>>>>>>>>>         System.out.println("Invoking sayHi...");
>>>>>>>>>         System.out.println("server responded with: " +
>>>>>>>>>
>>>>>>>>>                   
>>>>> greeter.sayHi());
>>>>>
>>>>>           
>>>>>>>>>         System.out.println();
>>>>>>>>>         System.out.println("Invoking greetMe...");
>>>>>>>>>         System.out.println("server responded with: " +
>>>>>>>>> greeter.greetMe(System.getProperty("user.name")));
>>>>>>>>>         System.out.println();
>>>>>>>>>         System.out.println("Invoking greetMeOneWay...");
>>>>>>>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
>>>>>>>>>         System.out.println("No response from server as method is
>>>>>>>>>
>>>>>>>>>                   
>>>>> OneWay");
>>>>>
>>>>>           
>>>>>>>>>         System.out.println();
>>>>>>>>>
>>>>>>>>>         System.exit(0);
>>>>>>>>>     }
>>>>>>>>> }
>>>>>>>>> Thanks & best regards
>>>>>>>>> Jackey
>>>>>>>>>
>>>>>>>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>>>>>>>>>
>>>>>>>>> Hi Jackey,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>> How you run the tests in smx? Using maven?
>>>>>>>>>> And just append your configuration.
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>>
>>>>>>>>>> Freeman
>>>>>>>>>>
>>>>>>>>>> Jackey Ding wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> hi,
>>>>>>>>>>>
>>>>>>>>>>> I just run some cxf-bc tests in smx. All the cases are run ok,
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> but I
>>>>>
>>>>>           
>>>>>>>>>>>                       
>>>>>>>>>> found
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> some error message show in the smx console. Is something wrong
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> with my
>>>>>
>>>>>           
>>>>>>>>>>> configurations?
>>>>>>>>>>>
>>>>>>>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> receive
>>>>>
>>>>>           
>>>>>>>>>>> 严重: JMSClientTransport.receive() timed out. No message
>>>>>>>>>>>                       
>> available.
>>     
>>>>>>>>>>> ERROR - CxfBcComponent                 - Error processing
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> exchange
>>>>>
>>>>>           
>>>>>>>>>>>                       
>>>>>>>>>> InOnly[
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
>>>>>>>>>>>   status: Active
>>>>>>>>>>>   role: provider
>>>>>>>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>>>>>>>                       
>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>     
>>>>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>
>>>>>           
>>>>>>>>>>>   endpoint: GreeterPort
>>>>>>>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>>>>>>>                       
>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>     
>>>>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>
>>>>>           
>>>>>>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> xmlns:jbi="
>>>>>
>>>>>           
>>>>>>>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
>>>>>>>>>>> http://cxf.apache.org/j
>>>>>>>>>>> ms_greeter" name="greetMeOneWayRequest"
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> type="msg:greetMeOneWayRequest"
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
>>>>>>>>>>> http://cxf.apache.org/jms_greete
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
>>     
>>>>>>>>>>                     
>>>>>>>>>>> ]
>>>>>>>>>>> java.io.IOException: javax.jms.JMSException:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> JMSClientTransport.receive()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> timed out. No message available.
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>>>>>>>>
>>>>>>>>>>> Thanks & best regards
>>>>>>>>>>> Jackey
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>>                     
>>>>>>             
>>     


Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Hi Jackey,

In your configuration, you specify the wsdl with

wsdl="classpath:jms_greeter@localhost.wsdl"
Could you try to remove jms_greeter@

Freeman

Just

Jackey Ding wrote:
> Hi freeman,
>
> I think this question is not very SMX about, but could you give me any
> clue from the error message when I run a soap/JMS test using JMeter?
>
> 2008-4-29 11:22:48 org.apache.cxf.transport.jms.JMSDestination$JMSExecutor
> run
> 信息: run the incoming message in the threadpool
> 2008-4-29 11:22:48 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> 信息: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Operation not bound on this message
>         at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getOperation(JbiInWsdl1Interceptor.java:270)
>         at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:98)
>         at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:61)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>         at
> org.apache.cxf.transport.jms.JMSDestination.incoming(JMSDestination.java:205)
>         at
> org.apache.cxf.transport.jms.JMSDestination$JMSExecutor.run(JMSDestination.java:338)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.Exception: Operation not bound on this message
>         ... 10 more
>
> My soap request message is:
> <?xml version="1.0" encoding="UTF-8"?>
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>               xmlns:greeter="http://cxf.apache.org/jms_greeter">
>   <env:Body>
>     <greeter:sayHi>
>       <greeter:sayHiRequest>world</greeter:sayHiRequest>
>     </greeter:sayHi>
>   </env:Body>
> </env:Envelope>
>
> The Response I get from SMX is:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>  <soap:Body>
>   <soap:Fault>
>    <faultcode>soap:Server</faultcode>
>    <faultstring>Operation not bound on this message</faultstring>
>   </soap:Fault>
>  </soap:Body>
> </soap:Envelope>
>
> Thanks & best regards
> Jackey
>
> 2008/4/28 Freeman Fang <fr...@gmail.com>:
>
>   
>> Sorry so far no experience with JMeter.
>>
>> Freeman
>>
>> Jackey Ding wrote:
>>     
>>> Hi Freeman,
>>>
>>> Now I am trying to use JMeter having a load test on the case that I
>>>       
>> showed
>>     
>>> to you in this mail.
>>> Do you have any experience working on it that can share with us?
>>>
>>> Thanks & best regards
>>> Jackey
>>>
>>> 2008/4/28 Jackey Ding <no...@gmail.com>:
>>>
>>>
>>>       
>>>> Ok, Thanks Freeman.
>>>>
>>>> Jackey
>>>>
>>>> 2008/4/28 Freeman Fang <fr...@gmail.com>:
>>>>
>>>> Btw, you shouldn't use locationURI for the cxf bc provider
>>>>         
>> configuration
>>     
>>>>> with jms transport, we just parse it from the wsdl.
>>>>>
>>>>> Cheers
>>>>>
>>>>> Freeman
>>>>>
>>>>> Freeman Fang wrote:
>>>>>
>>>>>           
>>>>>> Hi Jackey,
>>>>>>
>>>>>> get this issue fixed
>>>>>>
>>>>>> Freeman
>>>>>>
>>>>>> Freeman Fang wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Hi Jackey,
>>>>>>>
>>>>>>> >From the log, JMSConduit shouldn't wait for response since it's
>>>>>>>
>>>>>>>               
>>>>> oneway
>>>>>
>>>>>           
>>>>>>> method.
>>>>>>> I go through the code and found there is a bug for oneway
>>>>>>>               
>> invocation,
>>     
>>>>>>> fill jira [1] to track it.
>>>>>>>
>>>>>>> I will fix it up asap
>>>>>>> [1]https://issues.apache.org/activemq/browse/SM-1334
>>>>>>>
>>>>>>> Freeman
>>>>>>>
>>>>>>> Jackey Ding wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> Any response?
>>>>>>>>
>>>>>>>> Jackey
>>>>>>>>
>>>>>>>> 2008/4/25 Jackey Ding <no...@gmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>  Hi Freeman,
>>>>>>>>>
>>>>>>>>> 1. I have a JMS provider running outside of SMX, the WSDL is
>>>>>>>>> <wsdl:definitions name="JMSGreeterService"
>>>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>>>>>>     <wsdl:types>
>>>>>>>>>         <schema targetNamespace="
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/jms_greeter/types"
>>>>>
>>>>>           
>>>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>>>>>>> elementFormDefault="qualified">
>>>>>>>>>             <element name="sayHi">
>>>>>>>>>                 <complexType/>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="sayHiResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMe">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeOneWay">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>         </schema>
>>>>>>>>>     </wsdl:types>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     <wsdl:message name="sayHiRequest">
>>>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="sayHiResponse">
>>>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeResponse">
>>>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>
>>>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <wsdl:input message="tns:sayHiRequest"
>>>>>>>>>
>>>>>>>>>                   
>>>>> name="sayHiRequest"/>
>>>>>
>>>>>           
>>>>>>>>>             <wsdl:output message="tns:sayHiResponse"
>>>>>>>>> name="sayHiResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <wsdl:input message="tns:greetMeRequest"
>>>>>>>>> name="greetMeRequest"/>
>>>>>>>>>             <wsdl:output message="tns:greetMeResponse"
>>>>>>>>> name="greetMeResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>>>>>>> name="greetMeOneWayRequest"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:portType>
>>>>>>>>>
>>>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>>>>>>> type="tns:JMSGreeterPortType">
>>>>>>>>>         <soap:binding style="document" transport="
>>>>>>>>> http://cxf.apache.org/transport/jms"/<
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/transport/jms%22/>
>>>>>
>>>>>           
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="greetMeResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="sayHiRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="sayHiResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <soap:operation soapaction="" style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:binding>
>>>>>>>>>
>>>>>>>>>     <wsdl:service name="JMSGreeterService">
>>>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>>>>>>> name="GreeterPort">
>>>>>>>>>                <jms:address
>>>>>>>>>                    destinationStyle="queue"
>>>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>>>>>>
>>>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>>>>>>
>>>>>>>>>                    <jms:JMSNamingProperty
>>>>>>>>> name="java.naming.factory.initial"
>>>>>>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>>>>>>>>                    <jms:JMSNamingProperty
>>>>>>>>>
>>>>>>>>>                   
>>>>> name="java.naming.provider.url"
>>>>>
>>>>>           
>>>>>>>>> value="tcp://yfgm-2003b:61616"/>
>>>>>>>>>
>>>>>>>>>               </jms:address>
>>>>>>>>>            </wsdl:port>
>>>>>>>>>     </wsdl:service>
>>>>>>>>> </wsdl:definitions>
>>>>>>>>>
>>>>>>>>> 2. I create a CXF-BC provider to communicate with that serivce.
>>>>>>>>>                   
>> the
>>     
>>>>> wsdl
>>>>>
>>>>>           
>>>>>>>>> is just as the same with above, the xbean.xml is
>>>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>>>>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>>>>>>>>>             locationURI="tcp://yfgm-2003b:61616"
>>>>>>>>>                       service="greeter:JMSGreeterService"
>>>>>>>>>                       endpoint="GreeterPort"/>
>>>>>>>>> </beans>
>>>>>>>>>
>>>>>>>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
>>>>>>>>>
>>>>>>>>>                   
>>>>> application
>>>>>
>>>>>           
>>>>>>>>> can access the service via SMX, the xbean.xml is
>>>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>>>>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>>>>>>>>>             service="greeter:JMSGreeterService"
>>>>>>>>>            endpoint="GreeterPort2"
>>>>>>>>>                       targetEndpoint="GreeterPort"
>>>>>>>>>                       targetService="greeter:JMSGreeterService"
>>>>>>>>>                       />
>>>>>>>>> </beans>
>>>>>>>>>
>>>>>>>>> And the WSDL is
>>>>>>>>> <wsdl:definitions name="JMSGreeterService"
>>>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>>>>>>     <wsdl:types>
>>>>>>>>>         <schema targetNamespace="
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/jms_greeter/types"
>>>>>
>>>>>           
>>>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>>>>>>> elementFormDefault="qualified">
>>>>>>>>>             <element name="sayHi">
>>>>>>>>>                 <complexType/>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="sayHiResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMe">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeResponse">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="responseType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>             <element name="greetMeOneWay">
>>>>>>>>>                 <complexType>
>>>>>>>>>                     <sequence>
>>>>>>>>>                         <element name="requestType"
>>>>>>>>>
>>>>>>>>>                   
>>>>> type="xsd:string"/>
>>>>>
>>>>>           
>>>>>>>>>                     </sequence>
>>>>>>>>>                 </complexType>
>>>>>>>>>             </element>
>>>>>>>>>         </schema>
>>>>>>>>>     </wsdl:types>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     <wsdl:message name="sayHiRequest">
>>>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="sayHiResponse">
>>>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeResponse">
>>>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>>>>>>     </wsdl:message>
>>>>>>>>>
>>>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <wsdl:input message="tns:sayHiRequest"
>>>>>>>>>
>>>>>>>>>                   
>>>>> name="sayHiRequest"/>
>>>>>
>>>>>           
>>>>>>>>>             <wsdl:output message="tns:sayHiResponse"
>>>>>>>>> name="sayHiResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <wsdl:input message="tns:greetMeRequest"
>>>>>>>>> name="greetMeRequest"/>
>>>>>>>>>             <wsdl:output message="tns:greetMeResponse"
>>>>>>>>> name="greetMeResponse"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>>>>>>> name="greetMeOneWayRequest"/>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:portType>
>>>>>>>>>
>>>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>>>>>>> type="tns:JMSGreeterPortType">
>>>>>>>>>         <soap:binding style="document" transport="
>>>>>>>>> http://cxf.apache.org/transport/jms"/<
>>>>>>>>>
>>>>>>>>>                   
>>>>> http://cxf.apache.org/transport/jms%22/>
>>>>>
>>>>>           
>>>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="greetMeResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>>>             <wsdl:input name="sayHiRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>             <wsdl:output name="sayHiResponse">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:output>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>
>>>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>>>             <soap:operation style="document"/>
>>>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>>>>>>                 <soap:body use="literal"/>
>>>>>>>>>             </wsdl:input>
>>>>>>>>>         </wsdl:operation>
>>>>>>>>>     </wsdl:binding>
>>>>>>>>>
>>>>>>>>>     <wsdl:service name="JMSGreeterService">
>>>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>>>>>>> name="GreeterPort2">
>>>>>>>>>                <jms:address
>>>>>>>>>                    destinationStyle="queue"
>>>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>>>>>>
>>>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>>>>>>
>>>>>>>>>                    <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>
>>>>>>>>>            </wsdl:port>
>>>>>>>>>     </wsdl:service>
>>>>>>>>> </wsdl:definitions>
>>>>>>>>>
>>>>>>>>> 4. Then I run the client, the error occur like I show in the
>>>>>>>>>
>>>>>>>>>                   
>>>>> pervious
>>>>>
>>>>>           
>>>>>>>>> mail.
>>>>>>>>> public final class Client {
>>>>>>>>>     private Client() {
>>>>>>>>>     }
>>>>>>>>>     public static void main(String[] args) throws Exception {
>>>>>>>>>
>>>>>>>>>         if (args.length == 0) {
>>>>>>>>>             System.out.println("please specify wsdl");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (args.length == 1) {
>>>>>>>>>             System.out.println("please specify url");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (args.length == 2) {
>>>>>>>>>             System.out.println("please specify Service Name");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (args.length == 3) {
>>>>>>>>>             System.out.println("please specify Port Name");
>>>>>>>>>             System.exit(1);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         final QName SERVICE_NAME =
>>>>>>>>>             new QName(args[1], args[2]);
>>>>>>>>>         final QName PORT_NAME =
>>>>>>>>>             new QName(args[1], args[3]);
>>>>>>>>>         File wsdl = new File(args[0]);
>>>>>>>>>         JMSGreeterService service = new
>>>>>>>>>
>>>>>>>>>                   
>>>>> JMSGreeterService(wsdl.toURL(),
>>>>>
>>>>>           
>>>>>>>>> SERVICE_NAME);
>>>>>>>>>         JMSGreeterPortType greeter =
>>>>>>>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
>>>>>>>>>
>>>>>>>>>                   
>>>>> JMSGreeterPortType.class);
>>>>>
>>>>>           
>>>>>>>>>         System.out.println("Invoking sayHi...");
>>>>>>>>>         System.out.println("server responded with: " +
>>>>>>>>>
>>>>>>>>>                   
>>>>> greeter.sayHi());
>>>>>
>>>>>           
>>>>>>>>>         System.out.println();
>>>>>>>>>         System.out.println("Invoking greetMe...");
>>>>>>>>>         System.out.println("server responded with: " +
>>>>>>>>> greeter.greetMe(System.getProperty("user.name")));
>>>>>>>>>         System.out.println();
>>>>>>>>>         System.out.println("Invoking greetMeOneWay...");
>>>>>>>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
>>>>>>>>>         System.out.println("No response from server as method is
>>>>>>>>>
>>>>>>>>>                   
>>>>> OneWay");
>>>>>
>>>>>           
>>>>>>>>>         System.out.println();
>>>>>>>>>
>>>>>>>>>         System.exit(0);
>>>>>>>>>     }
>>>>>>>>> }
>>>>>>>>> Thanks & best regards
>>>>>>>>> Jackey
>>>>>>>>>
>>>>>>>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>>>>>>>>>
>>>>>>>>> Hi Jackey,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>> How you run the tests in smx? Using maven?
>>>>>>>>>> And just append your configuration.
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>>
>>>>>>>>>> Freeman
>>>>>>>>>>
>>>>>>>>>> Jackey Ding wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> hi,
>>>>>>>>>>>
>>>>>>>>>>> I just run some cxf-bc tests in smx. All the cases are run ok,
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> but I
>>>>>
>>>>>           
>>>>>>>>>>>                       
>>>>>>>>>> found
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> some error message show in the smx console. Is something wrong
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> with my
>>>>>
>>>>>           
>>>>>>>>>>> configurations?
>>>>>>>>>>>
>>>>>>>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> receive
>>>>>
>>>>>           
>>>>>>>>>>> 严重: JMSClientTransport.receive() timed out. No message
>>>>>>>>>>>                       
>> available.
>>     
>>>>>>>>>>> ERROR - CxfBcComponent                 - Error processing
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> exchange
>>>>>
>>>>>           
>>>>>>>>>>>                       
>>>>>>>>>> InOnly[
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
>>>>>>>>>>>   status: Active
>>>>>>>>>>>   role: provider
>>>>>>>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>>>>>>>                       
>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>     
>>>>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>
>>>>>           
>>>>>>>>>>>   endpoint: GreeterPort
>>>>>>>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>>>>>>>                       
>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>     
>>>>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>
>>>>>           
>>>>>>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>> xmlns:jbi="
>>>>>
>>>>>           
>>>>>>>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
>>>>>>>>>>> http://cxf.apache.org/j
>>>>>>>>>>> ms_greeter" name="greetMeOneWayRequest"
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> type="msg:greetMeOneWayRequest"
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
>>>>>>>>>>> http://cxf.apache.org/jms_greete
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
>>     
>>>>>>>>>>                     
>>>>>>>>>>> ]
>>>>>>>>>>> java.io.IOException: javax.jms.JMSException:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> JMSClientTransport.receive()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> timed out. No message available.
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>     
>>>>>>>>>>                     
>>>>>>>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>>>>>>>>
>>>>>>>>>>> Thanks & best regards
>>>>>>>>>>> Jackey
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>>                     
>>>>>>             
>>     


Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Jackey Ding <no...@gmail.com>.
Hi freeman,

I think this question is not very SMX about, but could you give me any
clue from the error message when I run a soap/JMS test using JMeter?

2008-4-29 11:22:48 org.apache.cxf.transport.jms.JMSDestination$JMSExecutor
run
信息: run the incoming message in the threadpool
2008-4-29 11:22:48 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
信息: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Operation not bound on this message
        at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getOperation(JbiInWsdl1Interceptor.java:270)
        at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:98)
        at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:61)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
        at
org.apache.cxf.transport.jms.JMSDestination.incoming(JMSDestination.java:205)
        at
org.apache.cxf.transport.jms.JMSDestination$JMSExecutor.run(JMSDestination.java:338)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.Exception: Operation not bound on this message
        ... 10 more

My soap request message is:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
              xmlns:greeter="http://cxf.apache.org/jms_greeter">
  <env:Body>
    <greeter:sayHi>
      <greeter:sayHiRequest>world</greeter:sayHiRequest>
    </greeter:sayHi>
  </env:Body>
</env:Envelope>

The Response I get from SMX is:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
  <soap:Fault>
   <faultcode>soap:Server</faultcode>
   <faultstring>Operation not bound on this message</faultstring>
  </soap:Fault>
 </soap:Body>
</soap:Envelope>

Thanks & best regards
Jackey

2008/4/28 Freeman Fang <fr...@gmail.com>:

> Sorry so far no experience with JMeter.
>
> Freeman
>
> Jackey Ding wrote:
> > Hi Freeman,
> >
> > Now I am trying to use JMeter having a load test on the case that I
> showed
> > to you in this mail.
> > Do you have any experience working on it that can share with us?
> >
> > Thanks & best regards
> > Jackey
> >
> > 2008/4/28 Jackey Ding <no...@gmail.com>:
> >
> >
> >> Ok, Thanks Freeman.
> >>
> >> Jackey
> >>
> >> 2008/4/28 Freeman Fang <fr...@gmail.com>:
> >>
> >> Btw, you shouldn't use locationURI for the cxf bc provider
> configuration
> >>
> >>> with jms transport, we just parse it from the wsdl.
> >>>
> >>> Cheers
> >>>
> >>> Freeman
> >>>
> >>> Freeman Fang wrote:
> >>>
> >>>> Hi Jackey,
> >>>>
> >>>> get this issue fixed
> >>>>
> >>>> Freeman
> >>>>
> >>>> Freeman Fang wrote:
> >>>>
> >>>>
> >>>>> Hi Jackey,
> >>>>>
> >>>>> >From the log, JMSConduit shouldn't wait for response since it's
> >>>>>
> >>> oneway
> >>>
> >>>>> method.
> >>>>> I go through the code and found there is a bug for oneway
> invocation,
> >>>>> fill jira [1] to track it.
> >>>>>
> >>>>> I will fix it up asap
> >>>>> [1]https://issues.apache.org/activemq/browse/SM-1334
> >>>>>
> >>>>> Freeman
> >>>>>
> >>>>> Jackey Ding wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> Any response?
> >>>>>>
> >>>>>> Jackey
> >>>>>>
> >>>>>> 2008/4/25 Jackey Ding <no...@gmail.com>:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>  Hi Freeman,
> >>>>>>>
> >>>>>>> 1. I have a JMS provider running outside of SMX, the WSDL is
> >>>>>>> <wsdl:definitions name="JMSGreeterService"
> >>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> >>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> >>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> >>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> >>>>>>>     <wsdl:types>
> >>>>>>>         <schema targetNamespace="
> >>>>>>>
> >>> http://cxf.apache.org/jms_greeter/types"
> >>>
> >>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> >>>>>>> elementFormDefault="qualified">
> >>>>>>>             <element name="sayHi">
> >>>>>>>                 <complexType/>
> >>>>>>>             </element>
> >>>>>>>             <element name="sayHiResponse">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="responseType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>             <element name="greetMe">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="requestType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>             <element name="greetMeResponse">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="responseType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>             <element name="greetMeOneWay">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="requestType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>         </schema>
> >>>>>>>     </wsdl:types>
> >>>>>>>
> >>>>>>>
> >>>>>>>     <wsdl:message name="sayHiRequest">
> >>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="sayHiResponse">
> >>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="greetMeRequest">
> >>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="greetMeResponse">
> >>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="greetMeOneWayRequest">
> >>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>
> >>>>>>>     <wsdl:portType name="JMSGreeterPortType">
> >>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>             <wsdl:input message="tns:sayHiRequest"
> >>>>>>>
> >>> name="sayHiRequest"/>
> >>>
> >>>>>>>             <wsdl:output message="tns:sayHiResponse"
> >>>>>>> name="sayHiResponse"/>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>             <wsdl:input message="tns:greetMeRequest"
> >>>>>>> name="greetMeRequest"/>
> >>>>>>>             <wsdl:output message="tns:greetMeResponse"
> >>>>>>> name="greetMeResponse"/>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> >>>>>>> name="greetMeOneWayRequest"/>
> >>>>>>>         </wsdl:operation>
> >>>>>>>     </wsdl:portType>
> >>>>>>>
> >>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
> >>>>>>> type="tns:JMSGreeterPortType">
> >>>>>>>         <soap:binding style="document" transport="
> >>>>>>> http://cxf.apache.org/transport/jms"/<
> >>>>>>>
> >>> http://cxf.apache.org/transport/jms%22/>
> >>>
> >>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>             <wsdl:input name="greetMeRequest">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:input>
> >>>>>>>             <wsdl:output name="greetMeResponse">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:output>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>             <wsdl:input name="sayHiRequest">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:input>
> >>>>>>>             <wsdl:output name="sayHiResponse">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:output>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>             <soap:operation soapaction="" style="document"/>
> >>>>>>>             <wsdl:input name="greetMeOneWayRequest">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:input>
> >>>>>>>         </wsdl:operation>
> >>>>>>>     </wsdl:binding>
> >>>>>>>
> >>>>>>>     <wsdl:service name="JMSGreeterService">
> >>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> >>>>>>> name="GreeterPort">
> >>>>>>>                <jms:address
> >>>>>>>                    destinationStyle="queue"
> >>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
> >>>>>>>
> >>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> >>>>>>>
> >>>>>>>                    <jms:JMSNamingProperty
> >>>>>>> name="java.naming.factory.initial"
> >>>>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
> >>>>>>>                    <jms:JMSNamingProperty
> >>>>>>>
> >>> name="java.naming.provider.url"
> >>>
> >>>>>>> value="tcp://yfgm-2003b:61616"/>
> >>>>>>>
> >>>>>>>               </jms:address>
> >>>>>>>            </wsdl:port>
> >>>>>>>     </wsdl:service>
> >>>>>>> </wsdl:definitions>
> >>>>>>>
> >>>>>>> 2. I create a CXF-BC provider to communicate with that serivce.
> the
> >>>>>>>
> >>> wsdl
> >>>
> >>>>>>> is just as the same with above, the xbean.xml is
> >>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
> >>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> >>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >>>>>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
> >>>>>>>             locationURI="tcp://yfgm-2003b:61616"
> >>>>>>>                       service="greeter:JMSGreeterService"
> >>>>>>>                       endpoint="GreeterPort"/>
> >>>>>>> </beans>
> >>>>>>>
> >>>>>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
> >>>>>>>
> >>> application
> >>>
> >>>>>>> can access the service via SMX, the xbean.xml is
> >>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
> >>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> >>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >>>>>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
> >>>>>>>             service="greeter:JMSGreeterService"
> >>>>>>>            endpoint="GreeterPort2"
> >>>>>>>                       targetEndpoint="GreeterPort"
> >>>>>>>                       targetService="greeter:JMSGreeterService"
> >>>>>>>                       />
> >>>>>>> </beans>
> >>>>>>>
> >>>>>>> And the WSDL is
> >>>>>>> <wsdl:definitions name="JMSGreeterService"
> >>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> >>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> >>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> >>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> >>>>>>>     <wsdl:types>
> >>>>>>>         <schema targetNamespace="
> >>>>>>>
> >>> http://cxf.apache.org/jms_greeter/types"
> >>>
> >>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> >>>>>>> elementFormDefault="qualified">
> >>>>>>>             <element name="sayHi">
> >>>>>>>                 <complexType/>
> >>>>>>>             </element>
> >>>>>>>             <element name="sayHiResponse">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="responseType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>             <element name="greetMe">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="requestType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>             <element name="greetMeResponse">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="responseType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>             <element name="greetMeOneWay">
> >>>>>>>                 <complexType>
> >>>>>>>                     <sequence>
> >>>>>>>                         <element name="requestType"
> >>>>>>>
> >>> type="xsd:string"/>
> >>>
> >>>>>>>                     </sequence>
> >>>>>>>                 </complexType>
> >>>>>>>             </element>
> >>>>>>>         </schema>
> >>>>>>>     </wsdl:types>
> >>>>>>>
> >>>>>>>
> >>>>>>>     <wsdl:message name="sayHiRequest">
> >>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="sayHiResponse">
> >>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="greetMeRequest">
> >>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="greetMeResponse">
> >>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>     <wsdl:message name="greetMeOneWayRequest">
> >>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> >>>>>>>     </wsdl:message>
> >>>>>>>
> >>>>>>>     <wsdl:portType name="JMSGreeterPortType">
> >>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>             <wsdl:input message="tns:sayHiRequest"
> >>>>>>>
> >>> name="sayHiRequest"/>
> >>>
> >>>>>>>             <wsdl:output message="tns:sayHiResponse"
> >>>>>>> name="sayHiResponse"/>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>             <wsdl:input message="tns:greetMeRequest"
> >>>>>>> name="greetMeRequest"/>
> >>>>>>>             <wsdl:output message="tns:greetMeResponse"
> >>>>>>> name="greetMeResponse"/>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> >>>>>>> name="greetMeOneWayRequest"/>
> >>>>>>>         </wsdl:operation>
> >>>>>>>     </wsdl:portType>
> >>>>>>>
> >>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
> >>>>>>> type="tns:JMSGreeterPortType">
> >>>>>>>         <soap:binding style="document" transport="
> >>>>>>> http://cxf.apache.org/transport/jms"/<
> >>>>>>>
> >>> http://cxf.apache.org/transport/jms%22/>
> >>>
> >>>>>>>         <wsdl:operation name="greetMe">
> >>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>             <wsdl:input name="greetMeRequest">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:input>
> >>>>>>>             <wsdl:output name="greetMeResponse">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:output>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="sayHi">
> >>>>>>>             <soap:operation soapAction="" style="document"/>
> >>>>>>>             <wsdl:input name="sayHiRequest">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:input>
> >>>>>>>             <wsdl:output name="sayHiResponse">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:output>
> >>>>>>>         </wsdl:operation>
> >>>>>>>
> >>>>>>>         <wsdl:operation name="greetMeOneWay">
> >>>>>>>             <soap:operation style="document"/>
> >>>>>>>             <wsdl:input name="greetMeOneWayRequest">
> >>>>>>>                 <soap:body use="literal"/>
> >>>>>>>             </wsdl:input>
> >>>>>>>         </wsdl:operation>
> >>>>>>>     </wsdl:binding>
> >>>>>>>
> >>>>>>>     <wsdl:service name="JMSGreeterService">
> >>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> >>>>>>> name="GreeterPort2">
> >>>>>>>                <jms:address
> >>>>>>>                    destinationStyle="queue"
> >>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
> >>>>>>>
> >>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> >>>>>>>
> >>>>>>>                    <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>
> >>>>>>>            </wsdl:port>
> >>>>>>>     </wsdl:service>
> >>>>>>> </wsdl:definitions>
> >>>>>>>
> >>>>>>> 4. Then I run the client, the error occur like I show in the
> >>>>>>>
> >>> pervious
> >>>
> >>>>>>> mail.
> >>>>>>> public final class Client {
> >>>>>>>     private Client() {
> >>>>>>>     }
> >>>>>>>     public static void main(String[] args) throws Exception {
> >>>>>>>
> >>>>>>>         if (args.length == 0) {
> >>>>>>>             System.out.println("please specify wsdl");
> >>>>>>>             System.exit(1);
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         if (args.length == 1) {
> >>>>>>>             System.out.println("please specify url");
> >>>>>>>             System.exit(1);
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         if (args.length == 2) {
> >>>>>>>             System.out.println("please specify Service Name");
> >>>>>>>             System.exit(1);
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         if (args.length == 3) {
> >>>>>>>             System.out.println("please specify Port Name");
> >>>>>>>             System.exit(1);
> >>>>>>>         }
> >>>>>>>
> >>>>>>>         final QName SERVICE_NAME =
> >>>>>>>             new QName(args[1], args[2]);
> >>>>>>>         final QName PORT_NAME =
> >>>>>>>             new QName(args[1], args[3]);
> >>>>>>>         File wsdl = new File(args[0]);
> >>>>>>>         JMSGreeterService service = new
> >>>>>>>
> >>> JMSGreeterService(wsdl.toURL(),
> >>>
> >>>>>>> SERVICE_NAME);
> >>>>>>>         JMSGreeterPortType greeter =
> >>>>>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
> >>>>>>>
> >>> JMSGreeterPortType.class);
> >>>
> >>>>>>>         System.out.println("Invoking sayHi...");
> >>>>>>>         System.out.println("server responded with: " +
> >>>>>>>
> >>> greeter.sayHi());
> >>>
> >>>>>>>         System.out.println();
> >>>>>>>         System.out.println("Invoking greetMe...");
> >>>>>>>         System.out.println("server responded with: " +
> >>>>>>> greeter.greetMe(System.getProperty("user.name")));
> >>>>>>>         System.out.println();
> >>>>>>>         System.out.println("Invoking greetMeOneWay...");
> >>>>>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
> >>>>>>>         System.out.println("No response from server as method is
> >>>>>>>
> >>> OneWay");
> >>>
> >>>>>>>         System.out.println();
> >>>>>>>
> >>>>>>>         System.exit(0);
> >>>>>>>     }
> >>>>>>> }
> >>>>>>> Thanks & best regards
> >>>>>>> Jackey
> >>>>>>>
> >>>>>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
> >>>>>>>
> >>>>>>> Hi Jackey,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> How you run the tests in smx? Using maven?
> >>>>>>>> And just append your configuration.
> >>>>>>>>
> >>>>>>>> Regards
> >>>>>>>>
> >>>>>>>> Freeman
> >>>>>>>>
> >>>>>>>> Jackey Ding wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> hi,
> >>>>>>>>>
> >>>>>>>>> I just run some cxf-bc tests in smx. All the cases are run ok,
> >>>>>>>>>
> >>> but I
> >>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>> found
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> some error message show in the smx console. Is something wrong
> >>>>>>>>>
> >>> with my
> >>>
> >>>>>>>>> configurations?
> >>>>>>>>>
> >>>>>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit
> >>>>>>>>>
> >>> receive
> >>>
> >>>>>>>>> 严重: JMSClientTransport.receive() timed out. No message
> available.
> >>>>>>>>> ERROR - CxfBcComponent                 - Error processing
> >>>>>>>>>
> >>> exchange
> >>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>> InOnly[
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
> >>>>>>>>>   status: Active
> >>>>>>>>>   role: provider
> >>>>>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >>>>>>>>>
> >>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >>>
> >>>>>>>>>   endpoint: GreeterPort
> >>>>>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >>>>>>>>>
> >>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >>>
> >>>>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> >>>>>>>>>
> >>> xmlns:jbi="
> >>>
> >>>>>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> >>>>>>>>> http://cxf.apache.org/j
> >>>>>>>>> ms_greeter" name="greetMeOneWayRequest"
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>> type="msg:greetMeOneWayRequest"
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
> >>>>>>>>> http://cxf.apache.org/jms_greete
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> ]
> >>>>>>>>> java.io.IOException: javax.jms.JMSException:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>> JMSClientTransport.receive()
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> timed out. No message available.
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> >>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>         at java.lang.Thread.run(Thread.java:595)
> >>>>>>>>>
> >>>>>>>>> Thanks & best regards
> >>>>>>>>> Jackey
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>
> >>>>
> >>>>
> >>>
>
>

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Sorry so far no experience with JMeter.

Freeman

Jackey Ding wrote:
> Hi Freeman,
>
> Now I am trying to use JMeter having a load test on the case that I showed
> to you in this mail.
> Do you have any experience working on it that can share with us?
>
> Thanks & best regards
> Jackey
>
> 2008/4/28 Jackey Ding <no...@gmail.com>:
>
>   
>> Ok, Thanks Freeman.
>>
>> Jackey
>>
>> 2008/4/28 Freeman Fang <fr...@gmail.com>:
>>
>> Btw, you shouldn't use locationURI for the cxf bc provider configuration
>>     
>>> with jms transport, we just parse it from the wsdl.
>>>
>>> Cheers
>>>
>>> Freeman
>>>
>>> Freeman Fang wrote:
>>>       
>>>> Hi Jackey,
>>>>
>>>> get this issue fixed
>>>>
>>>> Freeman
>>>>
>>>> Freeman Fang wrote:
>>>>
>>>>         
>>>>> Hi Jackey,
>>>>>
>>>>> >From the log, JMSConduit shouldn't wait for response since it's
>>>>>           
>>> oneway
>>>       
>>>>> method.
>>>>> I go through the code and found there is a bug for oneway invocation,
>>>>> fill jira [1] to track it.
>>>>>
>>>>> I will fix it up asap
>>>>> [1]https://issues.apache.org/activemq/browse/SM-1334
>>>>>
>>>>> Freeman
>>>>>
>>>>> Jackey Ding wrote:
>>>>>
>>>>>
>>>>>           
>>>>>> Any response?
>>>>>>
>>>>>> Jackey
>>>>>>
>>>>>> 2008/4/25 Jackey Ding <no...@gmail.com>:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>>>  Hi Freeman,
>>>>>>>
>>>>>>> 1. I have a JMS provider running outside of SMX, the WSDL is
>>>>>>> <wsdl:definitions name="JMSGreeterService"
>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>>>>     <wsdl:types>
>>>>>>>         <schema targetNamespace="
>>>>>>>               
>>> http://cxf.apache.org/jms_greeter/types"
>>>       
>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>>>>> elementFormDefault="qualified">
>>>>>>>             <element name="sayHi">
>>>>>>>                 <complexType/>
>>>>>>>             </element>
>>>>>>>             <element name="sayHiResponse">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="responseType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>             <element name="greetMe">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="requestType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>             <element name="greetMeResponse">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="responseType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>             <element name="greetMeOneWay">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="requestType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>         </schema>
>>>>>>>     </wsdl:types>
>>>>>>>
>>>>>>>
>>>>>>>     <wsdl:message name="sayHiRequest">
>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="sayHiResponse">
>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="greetMeRequest">
>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="greetMeResponse">
>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>>>>     </wsdl:message>
>>>>>>>
>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>             <wsdl:input message="tns:sayHiRequest"
>>>>>>>               
>>> name="sayHiRequest"/>
>>>       
>>>>>>>             <wsdl:output message="tns:sayHiResponse"
>>>>>>> name="sayHiResponse"/>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>             <wsdl:input message="tns:greetMeRequest"
>>>>>>> name="greetMeRequest"/>
>>>>>>>             <wsdl:output message="tns:greetMeResponse"
>>>>>>> name="greetMeResponse"/>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>>>>> name="greetMeOneWayRequest"/>
>>>>>>>         </wsdl:operation>
>>>>>>>     </wsdl:portType>
>>>>>>>
>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>>>>> type="tns:JMSGreeterPortType">
>>>>>>>         <soap:binding style="document" transport="
>>>>>>> http://cxf.apache.org/transport/jms"/<
>>>>>>>               
>>> http://cxf.apache.org/transport/jms%22/>
>>>       
>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>             <wsdl:input name="greetMeRequest">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:input>
>>>>>>>             <wsdl:output name="greetMeResponse">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:output>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>             <wsdl:input name="sayHiRequest">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:input>
>>>>>>>             <wsdl:output name="sayHiResponse">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:output>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>             <soap:operation soapaction="" style="document"/>
>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:input>
>>>>>>>         </wsdl:operation>
>>>>>>>     </wsdl:binding>
>>>>>>>
>>>>>>>     <wsdl:service name="JMSGreeterService">
>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>>>>> name="GreeterPort">
>>>>>>>                <jms:address
>>>>>>>                    destinationStyle="queue"
>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>>>>
>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>>>>
>>>>>>>                    <jms:JMSNamingProperty
>>>>>>> name="java.naming.factory.initial"
>>>>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>>>>>>                    <jms:JMSNamingProperty
>>>>>>>               
>>> name="java.naming.provider.url"
>>>       
>>>>>>> value="tcp://yfgm-2003b:61616"/>
>>>>>>>
>>>>>>>               </jms:address>
>>>>>>>            </wsdl:port>
>>>>>>>     </wsdl:service>
>>>>>>> </wsdl:definitions>
>>>>>>>
>>>>>>> 2. I create a CXF-BC provider to communicate with that serivce. the
>>>>>>>               
>>> wsdl
>>>       
>>>>>>> is just as the same with above, the xbean.xml is
>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>>>>>>>             locationURI="tcp://yfgm-2003b:61616"
>>>>>>>                       service="greeter:JMSGreeterService"
>>>>>>>                       endpoint="GreeterPort"/>
>>>>>>> </beans>
>>>>>>>
>>>>>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
>>>>>>>               
>>> application
>>>       
>>>>>>> can access the service via SMX, the xbean.xml is
>>>>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>>>>>>>             service="greeter:JMSGreeterService"
>>>>>>>            endpoint="GreeterPort2"
>>>>>>>                       targetEndpoint="GreeterPort"
>>>>>>>                       targetService="greeter:JMSGreeterService"
>>>>>>>                       />
>>>>>>> </beans>
>>>>>>>
>>>>>>> And the WSDL is
>>>>>>> <wsdl:definitions name="JMSGreeterService"
>>>>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>>>>     <wsdl:types>
>>>>>>>         <schema targetNamespace="
>>>>>>>               
>>> http://cxf.apache.org/jms_greeter/types"
>>>       
>>>>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>>>>> elementFormDefault="qualified">
>>>>>>>             <element name="sayHi">
>>>>>>>                 <complexType/>
>>>>>>>             </element>
>>>>>>>             <element name="sayHiResponse">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="responseType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>             <element name="greetMe">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="requestType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>             <element name="greetMeResponse">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="responseType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>             <element name="greetMeOneWay">
>>>>>>>                 <complexType>
>>>>>>>                     <sequence>
>>>>>>>                         <element name="requestType"
>>>>>>>               
>>> type="xsd:string"/>
>>>       
>>>>>>>                     </sequence>
>>>>>>>                 </complexType>
>>>>>>>             </element>
>>>>>>>         </schema>
>>>>>>>     </wsdl:types>
>>>>>>>
>>>>>>>
>>>>>>>     <wsdl:message name="sayHiRequest">
>>>>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="sayHiResponse">
>>>>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="greetMeRequest">
>>>>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="greetMeResponse">
>>>>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>>>>     </wsdl:message>
>>>>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>>>>     </wsdl:message>
>>>>>>>
>>>>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>             <wsdl:input message="tns:sayHiRequest"
>>>>>>>               
>>> name="sayHiRequest"/>
>>>       
>>>>>>>             <wsdl:output message="tns:sayHiResponse"
>>>>>>> name="sayHiResponse"/>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>             <wsdl:input message="tns:greetMeRequest"
>>>>>>> name="greetMeRequest"/>
>>>>>>>             <wsdl:output message="tns:greetMeResponse"
>>>>>>> name="greetMeResponse"/>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>>>>> name="greetMeOneWayRequest"/>
>>>>>>>         </wsdl:operation>
>>>>>>>     </wsdl:portType>
>>>>>>>
>>>>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>>>>> type="tns:JMSGreeterPortType">
>>>>>>>         <soap:binding style="document" transport="
>>>>>>> http://cxf.apache.org/transport/jms"/<
>>>>>>>               
>>> http://cxf.apache.org/transport/jms%22/>
>>>       
>>>>>>>         <wsdl:operation name="greetMe">
>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>             <wsdl:input name="greetMeRequest">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:input>
>>>>>>>             <wsdl:output name="greetMeResponse">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:output>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="sayHi">
>>>>>>>             <soap:operation soapAction="" style="document"/>
>>>>>>>             <wsdl:input name="sayHiRequest">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:input>
>>>>>>>             <wsdl:output name="sayHiResponse">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:output>
>>>>>>>         </wsdl:operation>
>>>>>>>
>>>>>>>         <wsdl:operation name="greetMeOneWay">
>>>>>>>             <soap:operation style="document"/>
>>>>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>>>>                 <soap:body use="literal"/>
>>>>>>>             </wsdl:input>
>>>>>>>         </wsdl:operation>
>>>>>>>     </wsdl:binding>
>>>>>>>
>>>>>>>     <wsdl:service name="JMSGreeterService">
>>>>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>>>>> name="GreeterPort2">
>>>>>>>                <jms:address
>>>>>>>                    destinationStyle="queue"
>>>>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>>>>
>>>>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>>>>
>>>>>>>                    <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>
>>>>>>>            </wsdl:port>
>>>>>>>     </wsdl:service>
>>>>>>> </wsdl:definitions>
>>>>>>>
>>>>>>> 4. Then I run the client, the error occur like I show in the
>>>>>>>               
>>> pervious
>>>       
>>>>>>> mail.
>>>>>>> public final class Client {
>>>>>>>     private Client() {
>>>>>>>     }
>>>>>>>     public static void main(String[] args) throws Exception {
>>>>>>>
>>>>>>>         if (args.length == 0) {
>>>>>>>             System.out.println("please specify wsdl");
>>>>>>>             System.exit(1);
>>>>>>>         }
>>>>>>>
>>>>>>>         if (args.length == 1) {
>>>>>>>             System.out.println("please specify url");
>>>>>>>             System.exit(1);
>>>>>>>         }
>>>>>>>
>>>>>>>         if (args.length == 2) {
>>>>>>>             System.out.println("please specify Service Name");
>>>>>>>             System.exit(1);
>>>>>>>         }
>>>>>>>
>>>>>>>         if (args.length == 3) {
>>>>>>>             System.out.println("please specify Port Name");
>>>>>>>             System.exit(1);
>>>>>>>         }
>>>>>>>
>>>>>>>         final QName SERVICE_NAME =
>>>>>>>             new QName(args[1], args[2]);
>>>>>>>         final QName PORT_NAME =
>>>>>>>             new QName(args[1], args[3]);
>>>>>>>         File wsdl = new File(args[0]);
>>>>>>>         JMSGreeterService service = new
>>>>>>>               
>>> JMSGreeterService(wsdl.toURL(),
>>>       
>>>>>>> SERVICE_NAME);
>>>>>>>         JMSGreeterPortType greeter =
>>>>>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
>>>>>>>               
>>> JMSGreeterPortType.class);
>>>       
>>>>>>>         System.out.println("Invoking sayHi...");
>>>>>>>         System.out.println("server responded with: " +
>>>>>>>               
>>> greeter.sayHi());
>>>       
>>>>>>>         System.out.println();
>>>>>>>         System.out.println("Invoking greetMe...");
>>>>>>>         System.out.println("server responded with: " +
>>>>>>> greeter.greetMe(System.getProperty("user.name")));
>>>>>>>         System.out.println();
>>>>>>>         System.out.println("Invoking greetMeOneWay...");
>>>>>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
>>>>>>>         System.out.println("No response from server as method is
>>>>>>>               
>>> OneWay");
>>>       
>>>>>>>         System.out.println();
>>>>>>>
>>>>>>>         System.exit(0);
>>>>>>>     }
>>>>>>> }
>>>>>>> Thanks & best regards
>>>>>>> Jackey
>>>>>>>
>>>>>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>>>>>>>
>>>>>>> Hi Jackey,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> How you run the tests in smx? Using maven?
>>>>>>>> And just append your configuration.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>> Freeman
>>>>>>>>
>>>>>>>> Jackey Ding wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> hi,
>>>>>>>>>
>>>>>>>>> I just run some cxf-bc tests in smx. All the cases are run ok,
>>>>>>>>>                   
>>> but I
>>>       
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> found
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> some error message show in the smx console. Is something wrong
>>>>>>>>>                   
>>> with my
>>>       
>>>>>>>>> configurations?
>>>>>>>>>
>>>>>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit
>>>>>>>>>                   
>>> receive
>>>       
>>>>>>>>> 严重: JMSClientTransport.receive() timed out. No message available.
>>>>>>>>> ERROR - CxfBcComponent                 - Error processing
>>>>>>>>>                   
>>> exchange
>>>       
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> InOnly[
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
>>>>>>>>>   status: Active
>>>>>>>>>   role: provider
>>>>>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>>>>>                   
>>> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>       
>>>>>>>>>   endpoint: GreeterPort
>>>>>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>>>>>                   
>>> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>       
>>>>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>>>>>>>>                   
>>> xmlns:jbi="
>>>       
>>>>>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
>>>>>>>>> http://cxf.apache.org/j
>>>>>>>>> ms_greeter" name="greetMeOneWayRequest"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> type="msg:greetMeOneWayRequest"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
>>>>>>>>> http://cxf.apache.org/jms_greete
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> ]
>>>>>>>>> java.io.IOException: javax.jms.JMSException:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> JMSClientTransport.receive()
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> timed out. No message available.
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>       
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>>>>>>
>>>>>>>>> Thanks & best regards
>>>>>>>>> Jackey
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>
>>>>>>>>                 
>>>>>           
>>>>
>>>>         
>>>       


Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Jackey Ding <no...@gmail.com>.
Hi Freeman,

Now I am trying to use JMeter having a load test on the case that I showed
to you in this mail.
Do you have any experience working on it that can share with us?

Thanks & best regards
Jackey

2008/4/28 Jackey Ding <no...@gmail.com>:

> Ok, Thanks Freeman.
>
> Jackey
>
> 2008/4/28 Freeman Fang <fr...@gmail.com>:
>
> Btw, you shouldn't use locationURI for the cxf bc provider configuration
> > with jms transport, we just parse it from the wsdl.
> >
> > Cheers
> >
> > Freeman
> >
> > Freeman Fang wrote:
> > > Hi Jackey,
> > >
> > > get this issue fixed
> > >
> > > Freeman
> > >
> > > Freeman Fang wrote:
> > >
> > >> Hi Jackey,
> > >>
> > >> >From the log, JMSConduit shouldn't wait for response since it's
> > oneway
> > >> method.
> > >> I go through the code and found there is a bug for oneway invocation,
> > >> fill jira [1] to track it.
> > >>
> > >> I will fix it up asap
> > >> [1]https://issues.apache.org/activemq/browse/SM-1334
> > >>
> > >> Freeman
> > >>
> > >> Jackey Ding wrote:
> > >>
> > >>
> > >>> Any response?
> > >>>
> > >>> Jackey
> > >>>
> > >>> 2008/4/25 Jackey Ding <no...@gmail.com>:
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>>  Hi Freeman,
> > >>>>
> > >>>> 1. I have a JMS provider running outside of SMX, the WSDL is
> > >>>> <wsdl:definitions name="JMSGreeterService"
> > >>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> > >>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> > >>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> > >>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> > >>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> > >>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > >>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> > >>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> > >>>>     <wsdl:types>
> > >>>>         <schema targetNamespace="
> > http://cxf.apache.org/jms_greeter/types"
> > >>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> > >>>> elementFormDefault="qualified">
> > >>>>             <element name="sayHi">
> > >>>>                 <complexType/>
> > >>>>             </element>
> > >>>>             <element name="sayHiResponse">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="responseType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>             <element name="greetMe">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="requestType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>             <element name="greetMeResponse">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="responseType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>             <element name="greetMeOneWay">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="requestType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>         </schema>
> > >>>>     </wsdl:types>
> > >>>>
> > >>>>
> > >>>>     <wsdl:message name="sayHiRequest">
> > >>>>         <wsdl:part element="x1:sayHi" name="in"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="sayHiResponse">
> > >>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="greetMeRequest">
> > >>>>         <wsdl:part element="x1:greetMe" name="in"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="greetMeResponse">
> > >>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="greetMeOneWayRequest">
> > >>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> > >>>>     </wsdl:message>
> > >>>>
> > >>>>     <wsdl:portType name="JMSGreeterPortType">
> > >>>>         <wsdl:operation name="sayHi">
> > >>>>             <wsdl:input message="tns:sayHiRequest"
> > name="sayHiRequest"/>
> > >>>>             <wsdl:output message="tns:sayHiResponse"
> > >>>> name="sayHiResponse"/>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="greetMe">
> > >>>>             <wsdl:input message="tns:greetMeRequest"
> > >>>> name="greetMeRequest"/>
> > >>>>             <wsdl:output message="tns:greetMeResponse"
> > >>>> name="greetMeResponse"/>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="greetMeOneWay">
> > >>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> > >>>> name="greetMeOneWayRequest"/>
> > >>>>         </wsdl:operation>
> > >>>>     </wsdl:portType>
> > >>>>
> > >>>>     <wsdl:binding name="JMSGreeterPortBinding"
> > >>>> type="tns:JMSGreeterPortType">
> > >>>>         <soap:binding style="document" transport="
> > >>>> http://cxf.apache.org/transport/jms"/<
> > http://cxf.apache.org/transport/jms%22/>
> > >>>>
> > >>>>         <wsdl:operation name="greetMe">
> > >>>>             <soap:operation soapAction="" style="document"/>
> > >>>>             <wsdl:input name="greetMeRequest">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:input>
> > >>>>             <wsdl:output name="greetMeResponse">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:output>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="sayHi">
> > >>>>             <soap:operation soapAction="" style="document"/>
> > >>>>             <wsdl:input name="sayHiRequest">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:input>
> > >>>>             <wsdl:output name="sayHiResponse">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:output>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="greetMeOneWay">
> > >>>>             <soap:operation soapaction="" style="document"/>
> > >>>>             <wsdl:input name="greetMeOneWayRequest">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:input>
> > >>>>         </wsdl:operation>
> > >>>>     </wsdl:binding>
> > >>>>
> > >>>>     <wsdl:service name="JMSGreeterService">
> > >>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> > >>>> name="GreeterPort">
> > >>>>                <jms:address
> > >>>>                    destinationStyle="queue"
> > >>>>                    jndiConnectionFactoryName="ConnectionFactory"
> > >>>>
> > >>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> > >>>>
> > >>>>                    <jms:JMSNamingProperty
> > >>>> name="java.naming.factory.initial"
> > >>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
> > >>>>                    <jms:JMSNamingProperty
> > name="java.naming.provider.url"
> > >>>> value="tcp://yfgm-2003b:61616"/>
> > >>>>
> > >>>>               </jms:address>
> > >>>>            </wsdl:port>
> > >>>>     </wsdl:service>
> > >>>> </wsdl:definitions>
> > >>>>
> > >>>> 2. I create a CXF-BC provider to communicate with that serivce. the
> > wsdl
> > >>>> is just as the same with above, the xbean.xml is
> > >>>>  <?xml version="1.0" encoding="UTF-8"?>
> > >>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> > >>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> > >>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
> > >>>>             locationURI="tcp://yfgm-2003b:61616"
> > >>>>                       service="greeter:JMSGreeterService"
> > >>>>                       endpoint="GreeterPort"/>
> > >>>> </beans>
> > >>>>
> > >>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
> > application
> > >>>> can access the service via SMX, the xbean.xml is
> > >>>>  <?xml version="1.0" encoding="UTF-8"?>
> > >>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> > >>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> > >>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
> > >>>>             service="greeter:JMSGreeterService"
> > >>>>            endpoint="GreeterPort2"
> > >>>>                       targetEndpoint="GreeterPort"
> > >>>>                       targetService="greeter:JMSGreeterService"
> > >>>>                       />
> > >>>> </beans>
> > >>>>
> > >>>> And the WSDL is
> > >>>> <wsdl:definitions name="JMSGreeterService"
> > >>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> > >>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> > >>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> > >>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> > >>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> > >>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > >>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> > >>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> > >>>>     <wsdl:types>
> > >>>>         <schema targetNamespace="
> > http://cxf.apache.org/jms_greeter/types"
> > >>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> > >>>> elementFormDefault="qualified">
> > >>>>             <element name="sayHi">
> > >>>>                 <complexType/>
> > >>>>             </element>
> > >>>>             <element name="sayHiResponse">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="responseType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>             <element name="greetMe">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="requestType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>             <element name="greetMeResponse">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="responseType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>             <element name="greetMeOneWay">
> > >>>>                 <complexType>
> > >>>>                     <sequence>
> > >>>>                         <element name="requestType"
> > type="xsd:string"/>
> > >>>>                     </sequence>
> > >>>>                 </complexType>
> > >>>>             </element>
> > >>>>         </schema>
> > >>>>     </wsdl:types>
> > >>>>
> > >>>>
> > >>>>     <wsdl:message name="sayHiRequest">
> > >>>>         <wsdl:part element="x1:sayHi" name="in"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="sayHiResponse">
> > >>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="greetMeRequest">
> > >>>>         <wsdl:part element="x1:greetMe" name="in"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="greetMeResponse">
> > >>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> > >>>>     </wsdl:message>
> > >>>>     <wsdl:message name="greetMeOneWayRequest">
> > >>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> > >>>>     </wsdl:message>
> > >>>>
> > >>>>     <wsdl:portType name="JMSGreeterPortType">
> > >>>>         <wsdl:operation name="sayHi">
> > >>>>             <wsdl:input message="tns:sayHiRequest"
> > name="sayHiRequest"/>
> > >>>>             <wsdl:output message="tns:sayHiResponse"
> > >>>> name="sayHiResponse"/>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="greetMe">
> > >>>>             <wsdl:input message="tns:greetMeRequest"
> > >>>> name="greetMeRequest"/>
> > >>>>             <wsdl:output message="tns:greetMeResponse"
> > >>>> name="greetMeResponse"/>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="greetMeOneWay">
> > >>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> > >>>> name="greetMeOneWayRequest"/>
> > >>>>         </wsdl:operation>
> > >>>>     </wsdl:portType>
> > >>>>
> > >>>>     <wsdl:binding name="JMSGreeterPortBinding"
> > >>>> type="tns:JMSGreeterPortType">
> > >>>>         <soap:binding style="document" transport="
> > >>>> http://cxf.apache.org/transport/jms"/<
> > http://cxf.apache.org/transport/jms%22/>
> > >>>>
> > >>>>         <wsdl:operation name="greetMe">
> > >>>>             <soap:operation soapAction="" style="document"/>
> > >>>>             <wsdl:input name="greetMeRequest">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:input>
> > >>>>             <wsdl:output name="greetMeResponse">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:output>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="sayHi">
> > >>>>             <soap:operation soapAction="" style="document"/>
> > >>>>             <wsdl:input name="sayHiRequest">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:input>
> > >>>>             <wsdl:output name="sayHiResponse">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:output>
> > >>>>         </wsdl:operation>
> > >>>>
> > >>>>         <wsdl:operation name="greetMeOneWay">
> > >>>>             <soap:operation style="document"/>
> > >>>>             <wsdl:input name="greetMeOneWayRequest">
> > >>>>                 <soap:body use="literal"/>
> > >>>>             </wsdl:input>
> > >>>>         </wsdl:operation>
> > >>>>     </wsdl:binding>
> > >>>>
> > >>>>     <wsdl:service name="JMSGreeterService">
> > >>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> > >>>> name="GreeterPort2">
> > >>>>                <jms:address
> > >>>>                    destinationStyle="queue"
> > >>>>                    jndiConnectionFactoryName="ConnectionFactory"
> > >>>>
> > >>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> > >>>>
> > >>>>                    <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>
> > >>>>            </wsdl:port>
> > >>>>     </wsdl:service>
> > >>>> </wsdl:definitions>
> > >>>>
> > >>>> 4. Then I run the client, the error occur like I show in the
> > pervious
> > >>>> mail.
> > >>>> public final class Client {
> > >>>>     private Client() {
> > >>>>     }
> > >>>>     public static void main(String[] args) throws Exception {
> > >>>>
> > >>>>         if (args.length == 0) {
> > >>>>             System.out.println("please specify wsdl");
> > >>>>             System.exit(1);
> > >>>>         }
> > >>>>
> > >>>>         if (args.length == 1) {
> > >>>>             System.out.println("please specify url");
> > >>>>             System.exit(1);
> > >>>>         }
> > >>>>
> > >>>>         if (args.length == 2) {
> > >>>>             System.out.println("please specify Service Name");
> > >>>>             System.exit(1);
> > >>>>         }
> > >>>>
> > >>>>         if (args.length == 3) {
> > >>>>             System.out.println("please specify Port Name");
> > >>>>             System.exit(1);
> > >>>>         }
> > >>>>
> > >>>>         final QName SERVICE_NAME =
> > >>>>             new QName(args[1], args[2]);
> > >>>>         final QName PORT_NAME =
> > >>>>             new QName(args[1], args[3]);
> > >>>>         File wsdl = new File(args[0]);
> > >>>>         JMSGreeterService service = new
> > JMSGreeterService(wsdl.toURL(),
> > >>>> SERVICE_NAME);
> > >>>>         JMSGreeterPortType greeter =
> > >>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
> > JMSGreeterPortType.class);
> > >>>>         System.out.println("Invoking sayHi...");
> > >>>>         System.out.println("server responded with: " +
> > greeter.sayHi());
> > >>>>         System.out.println();
> > >>>>         System.out.println("Invoking greetMe...");
> > >>>>         System.out.println("server responded with: " +
> > >>>> greeter.greetMe(System.getProperty("user.name")));
> > >>>>         System.out.println();
> > >>>>         System.out.println("Invoking greetMeOneWay...");
> > >>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
> > >>>>         System.out.println("No response from server as method is
> > OneWay");
> > >>>>         System.out.println();
> > >>>>
> > >>>>         System.exit(0);
> > >>>>     }
> > >>>> }
> > >>>> Thanks & best regards
> > >>>> Jackey
> > >>>>
> > >>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
> > >>>>
> > >>>> Hi Jackey,
> > >>>>
> > >>>>
> > >>>>
> > >>>>> How you run the tests in smx? Using maven?
> > >>>>> And just append your configuration.
> > >>>>>
> > >>>>> Regards
> > >>>>>
> > >>>>> Freeman
> > >>>>>
> > >>>>> Jackey Ding wrote:
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> hi,
> > >>>>>>
> > >>>>>> I just run some cxf-bc tests in smx. All the cases are run ok,
> > but I
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>> found
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> some error message show in the smx console. Is something wrong
> > with my
> > >>>>>> configurations?
> > >>>>>>
> > >>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit
> > receive
> > >>>>>> 严重: JMSClientTransport.receive() timed out. No message available.
> > >>>>>> ERROR - CxfBcComponent                 - Error processing
> > exchange
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>> InOnly[
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
> > >>>>>>   status: Active
> > >>>>>>   role: provider
> > >>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> > <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> > >>>>>>   endpoint: GreeterPort
> > >>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> > <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> > >>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> > xmlns:jbi="
> > >>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> > >>>>>> http://cxf.apache.org/j
> > >>>>>> ms_greeter" name="greetMeOneWayRequest"
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>> type="msg:greetMeOneWayRequest"
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
> > >>>>>> http://cxf.apache.org/jms_greete
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> ]
> > >>>>>> java.io.IOException: javax.jms.JMSException:
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>> JMSClientTransport.receive()
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> timed out. No message available.
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>         at java.lang.Thread.run(Thread.java:595)
> > >>>>>>
> > >>>>>> Thanks & best regards
> > >>>>>> Jackey
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>
> > >>
> > >
> > >
> > >
> >
> >
>

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Jackey Ding <no...@gmail.com>.
Ok, Thanks Freeman.

Jackey

2008/4/28 Freeman Fang <fr...@gmail.com>:

> Btw, you shouldn't use locationURI for the cxf bc provider configuration
> with jms transport, we just parse it from the wsdl.
>
> Cheers
>
> Freeman
>
> Freeman Fang wrote:
> > Hi Jackey,
> >
> > get this issue fixed
> >
> > Freeman
> >
> > Freeman Fang wrote:
> >
> >> Hi Jackey,
> >>
> >> >From the log, JMSConduit shouldn't wait for response since it's oneway
> >> method.
> >> I go through the code and found there is a bug for oneway invocation,
> >> fill jira [1] to track it.
> >>
> >> I will fix it up asap
> >> [1]https://issues.apache.org/activemq/browse/SM-1334
> >>
> >> Freeman
> >>
> >> Jackey Ding wrote:
> >>
> >>
> >>> Any response?
> >>>
> >>> Jackey
> >>>
> >>> 2008/4/25 Jackey Ding <no...@gmail.com>:
> >>>
> >>>
> >>>
> >>>
> >>>>  Hi Freeman,
> >>>>
> >>>> 1. I have a JMS provider running outside of SMX, the WSDL is
> >>>> <wsdl:definitions name="JMSGreeterService"
> >>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> >>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> >>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> >>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> >>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> >>>>     <wsdl:types>
> >>>>         <schema targetNamespace="
> http://cxf.apache.org/jms_greeter/types"
> >>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> >>>> elementFormDefault="qualified">
> >>>>             <element name="sayHi">
> >>>>                 <complexType/>
> >>>>             </element>
> >>>>             <element name="sayHiResponse">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="responseType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>             <element name="greetMe">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="requestType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>             <element name="greetMeResponse">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="responseType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>             <element name="greetMeOneWay">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="requestType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>         </schema>
> >>>>     </wsdl:types>
> >>>>
> >>>>
> >>>>     <wsdl:message name="sayHiRequest">
> >>>>         <wsdl:part element="x1:sayHi" name="in"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="sayHiResponse">
> >>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="greetMeRequest">
> >>>>         <wsdl:part element="x1:greetMe" name="in"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="greetMeResponse">
> >>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="greetMeOneWayRequest">
> >>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> >>>>     </wsdl:message>
> >>>>
> >>>>     <wsdl:portType name="JMSGreeterPortType">
> >>>>         <wsdl:operation name="sayHi">
> >>>>             <wsdl:input message="tns:sayHiRequest"
> name="sayHiRequest"/>
> >>>>             <wsdl:output message="tns:sayHiResponse"
> >>>> name="sayHiResponse"/>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="greetMe">
> >>>>             <wsdl:input message="tns:greetMeRequest"
> >>>> name="greetMeRequest"/>
> >>>>             <wsdl:output message="tns:greetMeResponse"
> >>>> name="greetMeResponse"/>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="greetMeOneWay">
> >>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> >>>> name="greetMeOneWayRequest"/>
> >>>>         </wsdl:operation>
> >>>>     </wsdl:portType>
> >>>>
> >>>>     <wsdl:binding name="JMSGreeterPortBinding"
> >>>> type="tns:JMSGreeterPortType">
> >>>>         <soap:binding style="document" transport="
> >>>> http://cxf.apache.org/transport/jms"/<
> http://cxf.apache.org/transport/jms%22/>
> >>>>
> >>>>         <wsdl:operation name="greetMe">
> >>>>             <soap:operation soapAction="" style="document"/>
> >>>>             <wsdl:input name="greetMeRequest">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:input>
> >>>>             <wsdl:output name="greetMeResponse">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:output>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="sayHi">
> >>>>             <soap:operation soapAction="" style="document"/>
> >>>>             <wsdl:input name="sayHiRequest">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:input>
> >>>>             <wsdl:output name="sayHiResponse">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:output>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="greetMeOneWay">
> >>>>             <soap:operation soapaction="" style="document"/>
> >>>>             <wsdl:input name="greetMeOneWayRequest">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:input>
> >>>>         </wsdl:operation>
> >>>>     </wsdl:binding>
> >>>>
> >>>>     <wsdl:service name="JMSGreeterService">
> >>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> >>>> name="GreeterPort">
> >>>>                <jms:address
> >>>>                    destinationStyle="queue"
> >>>>                    jndiConnectionFactoryName="ConnectionFactory"
> >>>>
> >>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> >>>>
> >>>>                    <jms:JMSNamingProperty
> >>>> name="java.naming.factory.initial"
> >>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
> >>>>                    <jms:JMSNamingProperty
> name="java.naming.provider.url"
> >>>> value="tcp://yfgm-2003b:61616"/>
> >>>>
> >>>>               </jms:address>
> >>>>            </wsdl:port>
> >>>>     </wsdl:service>
> >>>> </wsdl:definitions>
> >>>>
> >>>> 2. I create a CXF-BC provider to communicate with that serivce. the
> wsdl
> >>>> is just as the same with above, the xbean.xml is
> >>>>  <?xml version="1.0" encoding="UTF-8"?>
> >>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> >>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
> >>>>             locationURI="tcp://yfgm-2003b:61616"
> >>>>                       service="greeter:JMSGreeterService"
> >>>>                       endpoint="GreeterPort"/>
> >>>> </beans>
> >>>>
> >>>> 3. Create a CXF-BC consumer as a proxied endpoint that other
> application
> >>>> can access the service via SMX, the xbean.xml is
> >>>>  <?xml version="1.0" encoding="UTF-8"?>
> >>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> >>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
> >>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
> >>>>             service="greeter:JMSGreeterService"
> >>>>            endpoint="GreeterPort2"
> >>>>                       targetEndpoint="GreeterPort"
> >>>>                       targetService="greeter:JMSGreeterService"
> >>>>                       />
> >>>> </beans>
> >>>>
> >>>> And the WSDL is
> >>>> <wsdl:definitions name="JMSGreeterService"
> >>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
> >>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
> >>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
> >>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
> >>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
> >>>>     <wsdl:types>
> >>>>         <schema targetNamespace="
> http://cxf.apache.org/jms_greeter/types"
> >>>>             xmlns="http://www.w3.org/2001/XMLSchema"
> >>>> elementFormDefault="qualified">
> >>>>             <element name="sayHi">
> >>>>                 <complexType/>
> >>>>             </element>
> >>>>             <element name="sayHiResponse">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="responseType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>             <element name="greetMe">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="requestType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>             <element name="greetMeResponse">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="responseType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>             <element name="greetMeOneWay">
> >>>>                 <complexType>
> >>>>                     <sequence>
> >>>>                         <element name="requestType"
> type="xsd:string"/>
> >>>>                     </sequence>
> >>>>                 </complexType>
> >>>>             </element>
> >>>>         </schema>
> >>>>     </wsdl:types>
> >>>>
> >>>>
> >>>>     <wsdl:message name="sayHiRequest">
> >>>>         <wsdl:part element="x1:sayHi" name="in"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="sayHiResponse">
> >>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="greetMeRequest">
> >>>>         <wsdl:part element="x1:greetMe" name="in"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="greetMeResponse">
> >>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
> >>>>     </wsdl:message>
> >>>>     <wsdl:message name="greetMeOneWayRequest">
> >>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
> >>>>     </wsdl:message>
> >>>>
> >>>>     <wsdl:portType name="JMSGreeterPortType">
> >>>>         <wsdl:operation name="sayHi">
> >>>>             <wsdl:input message="tns:sayHiRequest"
> name="sayHiRequest"/>
> >>>>             <wsdl:output message="tns:sayHiResponse"
> >>>> name="sayHiResponse"/>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="greetMe">
> >>>>             <wsdl:input message="tns:greetMeRequest"
> >>>> name="greetMeRequest"/>
> >>>>             <wsdl:output message="tns:greetMeResponse"
> >>>> name="greetMeResponse"/>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="greetMeOneWay">
> >>>>             <wsdl:input message="tns:greetMeOneWayRequest"
> >>>> name="greetMeOneWayRequest"/>
> >>>>         </wsdl:operation>
> >>>>     </wsdl:portType>
> >>>>
> >>>>     <wsdl:binding name="JMSGreeterPortBinding"
> >>>> type="tns:JMSGreeterPortType">
> >>>>         <soap:binding style="document" transport="
> >>>> http://cxf.apache.org/transport/jms"/<
> http://cxf.apache.org/transport/jms%22/>
> >>>>
> >>>>         <wsdl:operation name="greetMe">
> >>>>             <soap:operation soapAction="" style="document"/>
> >>>>             <wsdl:input name="greetMeRequest">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:input>
> >>>>             <wsdl:output name="greetMeResponse">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:output>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="sayHi">
> >>>>             <soap:operation soapAction="" style="document"/>
> >>>>             <wsdl:input name="sayHiRequest">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:input>
> >>>>             <wsdl:output name="sayHiResponse">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:output>
> >>>>         </wsdl:operation>
> >>>>
> >>>>         <wsdl:operation name="greetMeOneWay">
> >>>>             <soap:operation style="document"/>
> >>>>             <wsdl:input name="greetMeOneWayRequest">
> >>>>                 <soap:body use="literal"/>
> >>>>             </wsdl:input>
> >>>>         </wsdl:operation>
> >>>>     </wsdl:binding>
> >>>>
> >>>>     <wsdl:service name="JMSGreeterService">
> >>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> >>>> name="GreeterPort2">
> >>>>                <jms:address
> >>>>                    destinationStyle="queue"
> >>>>                    jndiConnectionFactoryName="ConnectionFactory"
> >>>>
> >>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
> >>>>
> >>>>                    <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>
> >>>>            </wsdl:port>
> >>>>     </wsdl:service>
> >>>> </wsdl:definitions>
> >>>>
> >>>> 4. Then I run the client, the error occur like I show in the pervious
> >>>> mail.
> >>>> public final class Client {
> >>>>     private Client() {
> >>>>     }
> >>>>     public static void main(String[] args) throws Exception {
> >>>>
> >>>>         if (args.length == 0) {
> >>>>             System.out.println("please specify wsdl");
> >>>>             System.exit(1);
> >>>>         }
> >>>>
> >>>>         if (args.length == 1) {
> >>>>             System.out.println("please specify url");
> >>>>             System.exit(1);
> >>>>         }
> >>>>
> >>>>         if (args.length == 2) {
> >>>>             System.out.println("please specify Service Name");
> >>>>             System.exit(1);
> >>>>         }
> >>>>
> >>>>         if (args.length == 3) {
> >>>>             System.out.println("please specify Port Name");
> >>>>             System.exit(1);
> >>>>         }
> >>>>
> >>>>         final QName SERVICE_NAME =
> >>>>             new QName(args[1], args[2]);
> >>>>         final QName PORT_NAME =
> >>>>             new QName(args[1], args[3]);
> >>>>         File wsdl = new File(args[0]);
> >>>>         JMSGreeterService service = new
> JMSGreeterService(wsdl.toURL(),
> >>>> SERVICE_NAME);
> >>>>         JMSGreeterPortType greeter =
> >>>> (JMSGreeterPortType)service.getPort(PORT_NAME,
> JMSGreeterPortType.class);
> >>>>         System.out.println("Invoking sayHi...");
> >>>>         System.out.println("server responded with: " +
> greeter.sayHi());
> >>>>         System.out.println();
> >>>>         System.out.println("Invoking greetMe...");
> >>>>         System.out.println("server responded with: " +
> >>>> greeter.greetMe(System.getProperty("user.name")));
> >>>>         System.out.println();
> >>>>         System.out.println("Invoking greetMeOneWay...");
> >>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
> >>>>         System.out.println("No response from server as method is
> OneWay");
> >>>>         System.out.println();
> >>>>
> >>>>         System.exit(0);
> >>>>     }
> >>>> }
> >>>> Thanks & best regards
> >>>> Jackey
> >>>>
> >>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
> >>>>
> >>>> Hi Jackey,
> >>>>
> >>>>
> >>>>
> >>>>> How you run the tests in smx? Using maven?
> >>>>> And just append your configuration.
> >>>>>
> >>>>> Regards
> >>>>>
> >>>>> Freeman
> >>>>>
> >>>>> Jackey Ding wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> hi,
> >>>>>>
> >>>>>> I just run some cxf-bc tests in smx. All the cases are run ok, but
> I
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> found
> >>>>>
> >>>>>
> >>>>>
> >>>>>> some error message show in the smx console. Is something wrong with
> my
> >>>>>> configurations?
> >>>>>>
> >>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
> >>>>>> 严重: JMSClientTransport.receive() timed out. No message available.
> >>>>>> ERROR - CxfBcComponent                 - Error processing exchange
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> InOnly[
> >>>>>
> >>>>>
> >>>>>
> >>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
> >>>>>>   status: Active
> >>>>>>   role: provider
> >>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> <http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >>>>>>   endpoint: GreeterPort
> >>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> <http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="
> >>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> >>>>>> http://cxf.apache.org/j
> >>>>>> ms_greeter" name="greetMeOneWayRequest"
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> type="msg:greetMeOneWayRequest"
> >>>>>
> >>>>>
> >>>>>
> >>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
> >>>>>> http://cxf.apache.org/jms_greete
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> >>>>>
> >>>>>
> >>>>>
> >>>>>> ]
> >>>>>> java.io.IOException: javax.jms.JMSException:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> JMSClientTransport.receive()
> >>>>>
> >>>>>
> >>>>>
> >>>>>> timed out. No message available.
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> >>>>>
> >>>>>
> >>>>>
> >>>>>>         at java.lang.Thread.run(Thread.java:595)
> >>>>>>
> >>>>>> Thanks & best regards
> >>>>>> Jackey
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>
> >>
> >
> >
> >
>
>

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Btw, you shouldn't use locationURI for the cxf bc provider configuration
with jms transport, we just parse it from the wsdl.

Cheers

Freeman

Freeman Fang wrote:
> Hi Jackey,
>
> get this issue fixed
>
> Freeman
>
> Freeman Fang wrote:
>   
>> Hi Jackey,
>>
>> >From the log, JMSConduit shouldn't wait for response since it's oneway
>> method.
>> I go through the code and found there is a bug for oneway invocation,
>> fill jira [1] to track it.
>>
>> I will fix it up asap
>> [1]https://issues.apache.org/activemq/browse/SM-1334
>>
>> Freeman
>>
>> Jackey Ding wrote:
>>   
>>     
>>> Any response?
>>>
>>> Jackey
>>>
>>> 2008/4/25 Jackey Ding <no...@gmail.com>:
>>>
>>>   
>>>     
>>>       
>>>>  Hi Freeman,
>>>>
>>>> 1. I have a JMS provider running outside of SMX, the WSDL is
>>>> <wsdl:definitions name="JMSGreeterService"
>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>     <wsdl:types>
>>>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>> elementFormDefault="qualified">
>>>>             <element name="sayHi">
>>>>                 <complexType/>
>>>>             </element>
>>>>             <element name="sayHiResponse">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="responseType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>             <element name="greetMe">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="requestType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>             <element name="greetMeResponse">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="responseType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>             <element name="greetMeOneWay">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="requestType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>         </schema>
>>>>     </wsdl:types>
>>>>
>>>>
>>>>     <wsdl:message name="sayHiRequest">
>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="sayHiResponse">
>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="greetMeRequest">
>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="greetMeResponse">
>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>     </wsdl:message>
>>>>
>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>         <wsdl:operation name="sayHi">
>>>>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>>>>             <wsdl:output message="tns:sayHiResponse"
>>>> name="sayHiResponse"/>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="greetMe">
>>>>             <wsdl:input message="tns:greetMeRequest"
>>>> name="greetMeRequest"/>
>>>>             <wsdl:output message="tns:greetMeResponse"
>>>> name="greetMeResponse"/>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="greetMeOneWay">
>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>> name="greetMeOneWayRequest"/>
>>>>         </wsdl:operation>
>>>>     </wsdl:portType>
>>>>
>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>> type="tns:JMSGreeterPortType">
>>>>         <soap:binding style="document" transport="
>>>> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>>>>     
>>>>         <wsdl:operation name="greetMe">
>>>>             <soap:operation soapAction="" style="document"/>
>>>>             <wsdl:input name="greetMeRequest">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:input>
>>>>             <wsdl:output name="greetMeResponse">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:output>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="sayHi">
>>>>             <soap:operation soapAction="" style="document"/>
>>>>             <wsdl:input name="sayHiRequest">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:input>
>>>>             <wsdl:output name="sayHiResponse">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:output>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="greetMeOneWay">
>>>>             <soap:operation soapaction="" style="document"/>
>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:input>
>>>>         </wsdl:operation>
>>>>     </wsdl:binding>
>>>>
>>>>     <wsdl:service name="JMSGreeterService">
>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>> name="GreeterPort">
>>>>                <jms:address
>>>>                    destinationStyle="queue"
>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>
>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>
>>>>                    <jms:JMSNamingProperty
>>>> name="java.naming.factory.initial"
>>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>>>                    <jms:JMSNamingProperty name="java.naming.provider.url"
>>>> value="tcp://yfgm-2003b:61616"/>
>>>>
>>>>               </jms:address>
>>>>            </wsdl:port>
>>>>     </wsdl:service>
>>>> </wsdl:definitions>
>>>>
>>>> 2. I create a CXF-BC provider to communicate with that serivce. the wsdl
>>>> is just as the same with above, the xbean.xml is
>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>>>>             locationURI="tcp://yfgm-2003b:61616"
>>>>                       service="greeter:JMSGreeterService"
>>>>                       endpoint="GreeterPort"/>
>>>> </beans>
>>>>
>>>> 3. Create a CXF-BC consumer as a proxied endpoint that other application
>>>> can access the service via SMX, the xbean.xml is
>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>>>>             service="greeter:JMSGreeterService"
>>>>            endpoint="GreeterPort2"
>>>>                       targetEndpoint="GreeterPort"
>>>>                       targetService="greeter:JMSGreeterService"
>>>>                       />
>>>> </beans>
>>>>
>>>> And the WSDL is
>>>> <wsdl:definitions name="JMSGreeterService"
>>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>>     <wsdl:types>
>>>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>>> elementFormDefault="qualified">
>>>>             <element name="sayHi">
>>>>                 <complexType/>
>>>>             </element>
>>>>             <element name="sayHiResponse">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="responseType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>             <element name="greetMe">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="requestType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>             <element name="greetMeResponse">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="responseType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>             <element name="greetMeOneWay">
>>>>                 <complexType>
>>>>                     <sequence>
>>>>                         <element name="requestType" type="xsd:string"/>
>>>>                     </sequence>
>>>>                 </complexType>
>>>>             </element>
>>>>         </schema>
>>>>     </wsdl:types>
>>>>
>>>>
>>>>     <wsdl:message name="sayHiRequest">
>>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="sayHiResponse">
>>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="greetMeRequest">
>>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="greetMeResponse">
>>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>>     </wsdl:message>
>>>>     <wsdl:message name="greetMeOneWayRequest">
>>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>>     </wsdl:message>
>>>>
>>>>     <wsdl:portType name="JMSGreeterPortType">
>>>>         <wsdl:operation name="sayHi">
>>>>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>>>>             <wsdl:output message="tns:sayHiResponse"
>>>> name="sayHiResponse"/>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="greetMe">
>>>>             <wsdl:input message="tns:greetMeRequest"
>>>> name="greetMeRequest"/>
>>>>             <wsdl:output message="tns:greetMeResponse"
>>>> name="greetMeResponse"/>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="greetMeOneWay">
>>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>>> name="greetMeOneWayRequest"/>
>>>>         </wsdl:operation>
>>>>     </wsdl:portType>
>>>>
>>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>>> type="tns:JMSGreeterPortType">
>>>>         <soap:binding style="document" transport="
>>>> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>>>>     
>>>>         <wsdl:operation name="greetMe">
>>>>             <soap:operation soapAction="" style="document"/>
>>>>             <wsdl:input name="greetMeRequest">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:input>
>>>>             <wsdl:output name="greetMeResponse">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:output>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="sayHi">
>>>>             <soap:operation soapAction="" style="document"/>
>>>>             <wsdl:input name="sayHiRequest">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:input>
>>>>             <wsdl:output name="sayHiResponse">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:output>
>>>>         </wsdl:operation>
>>>>
>>>>         <wsdl:operation name="greetMeOneWay">
>>>>             <soap:operation style="document"/>
>>>>             <wsdl:input name="greetMeOneWayRequest">
>>>>                 <soap:body use="literal"/>
>>>>             </wsdl:input>
>>>>         </wsdl:operation>
>>>>     </wsdl:binding>
>>>>
>>>>     <wsdl:service name="JMSGreeterService">
>>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>>> name="GreeterPort2">
>>>>                <jms:address
>>>>                    destinationStyle="queue"
>>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>>
>>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>>
>>>>                    <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>
>>>>            </wsdl:port>
>>>>     </wsdl:service>
>>>> </wsdl:definitions>
>>>>
>>>> 4. Then I run the client, the error occur like I show in the pervious
>>>> mail.
>>>> public final class Client {
>>>>     private Client() {
>>>>     }
>>>>     public static void main(String[] args) throws Exception {
>>>>
>>>>         if (args.length == 0) {
>>>>             System.out.println("please specify wsdl");
>>>>             System.exit(1);
>>>>         }
>>>>
>>>>         if (args.length == 1) {
>>>>             System.out.println("please specify url");
>>>>             System.exit(1);
>>>>         }
>>>>
>>>>         if (args.length == 2) {
>>>>             System.out.println("please specify Service Name");
>>>>             System.exit(1);
>>>>         }
>>>>
>>>>         if (args.length == 3) {
>>>>             System.out.println("please specify Port Name");
>>>>             System.exit(1);
>>>>         }
>>>>
>>>>         final QName SERVICE_NAME =
>>>>             new QName(args[1], args[2]);
>>>>         final QName PORT_NAME =
>>>>             new QName(args[1], args[3]);
>>>>         File wsdl = new File(args[0]);
>>>>         JMSGreeterService service = new JMSGreeterService(wsdl.toURL(),
>>>> SERVICE_NAME);
>>>>         JMSGreeterPortType greeter =
>>>> (JMSGreeterPortType)service.getPort(PORT_NAME, JMSGreeterPortType.class);
>>>>         System.out.println("Invoking sayHi...");
>>>>         System.out.println("server responded with: " + greeter.sayHi());
>>>>         System.out.println();
>>>>         System.out.println("Invoking greetMe...");
>>>>         System.out.println("server responded with: " +
>>>> greeter.greetMe(System.getProperty("user.name")));
>>>>         System.out.println();
>>>>         System.out.println("Invoking greetMeOneWay...");
>>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
>>>>         System.out.println("No response from server as method is OneWay");
>>>>         System.out.println();
>>>>
>>>>         System.exit(0);
>>>>     }
>>>> }
>>>> Thanks & best regards
>>>> Jackey
>>>>
>>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>>>>
>>>> Hi Jackey,
>>>>     
>>>>       
>>>>         
>>>>> How you run the tests in smx? Using maven?
>>>>> And just append your configuration.
>>>>>
>>>>> Regards
>>>>>
>>>>> Freeman
>>>>>
>>>>> Jackey Ding wrote:
>>>>>       
>>>>>         
>>>>>           
>>>>>> hi,
>>>>>>
>>>>>> I just run some cxf-bc tests in smx. All the cases are run ok, but I
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> found
>>>>>       
>>>>>         
>>>>>           
>>>>>> some error message show in the smx console. Is something wrong with my
>>>>>> configurations?
>>>>>>
>>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
>>>>>> 严重: JMSClientTransport.receive() timed out. No message available.
>>>>>> ERROR - CxfBcComponent                 - Error processing exchange
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> InOnly[
>>>>>       
>>>>>         
>>>>>           
>>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
>>>>>>   status: Active
>>>>>>   role: provider
>>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>>   endpoint: GreeterPort
>>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
>>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
>>>>>> http://cxf.apache.org/j
>>>>>> ms_greeter" name="greetMeOneWayRequest"
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> type="msg:greetMeOneWayRequest"
>>>>>       
>>>>>         
>>>>>           
>>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
>>>>>> http://cxf.apache.org/jms_greete
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
>>>>>       
>>>>>         
>>>>>           
>>>>>> ]
>>>>>> java.io.IOException: javax.jms.JMSException:
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> JMSClientTransport.receive()
>>>>>       
>>>>>         
>>>>>           
>>>>>> timed out. No message available.
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>>       
>>>>>         
>>>>>           
>>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>>>
>>>>>> Thanks & best regards
>>>>>> Jackey
>>>>>>
>>>>>>         
>>>>>>           
>>>>>>             
>>>>>       
>>>>>         
>>>>>           
>>   
>>     
>
>
>   


Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Hi Jackey,

get this issue fixed

Freeman

Freeman Fang wrote:
> Hi Jackey,
>
> >From the log, JMSConduit shouldn't wait for response since it's oneway
> method.
> I go through the code and found there is a bug for oneway invocation,
> fill jira [1] to track it.
>
> I will fix it up asap
> [1]https://issues.apache.org/activemq/browse/SM-1334
>
> Freeman
>
> Jackey Ding wrote:
>   
>> Any response?
>>
>> Jackey
>>
>> 2008/4/25 Jackey Ding <no...@gmail.com>:
>>
>>   
>>     
>>>  Hi Freeman,
>>>
>>> 1. I have a JMS provider running outside of SMX, the WSDL is
>>> <wsdl:definitions name="JMSGreeterService"
>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>     <wsdl:types>
>>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>> elementFormDefault="qualified">
>>>             <element name="sayHi">
>>>                 <complexType/>
>>>             </element>
>>>             <element name="sayHiResponse">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="responseType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>             <element name="greetMe">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="requestType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>             <element name="greetMeResponse">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="responseType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>             <element name="greetMeOneWay">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="requestType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>         </schema>
>>>     </wsdl:types>
>>>
>>>
>>>     <wsdl:message name="sayHiRequest">
>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="sayHiResponse">
>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="greetMeRequest">
>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="greetMeResponse">
>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="greetMeOneWayRequest">
>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>     </wsdl:message>
>>>
>>>     <wsdl:portType name="JMSGreeterPortType">
>>>         <wsdl:operation name="sayHi">
>>>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>>>             <wsdl:output message="tns:sayHiResponse"
>>> name="sayHiResponse"/>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="greetMe">
>>>             <wsdl:input message="tns:greetMeRequest"
>>> name="greetMeRequest"/>
>>>             <wsdl:output message="tns:greetMeResponse"
>>> name="greetMeResponse"/>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="greetMeOneWay">
>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>> name="greetMeOneWayRequest"/>
>>>         </wsdl:operation>
>>>     </wsdl:portType>
>>>
>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>> type="tns:JMSGreeterPortType">
>>>         <soap:binding style="document" transport="
>>> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>>>     
>>>         <wsdl:operation name="greetMe">
>>>             <soap:operation soapAction="" style="document"/>
>>>             <wsdl:input name="greetMeRequest">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:input>
>>>             <wsdl:output name="greetMeResponse">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:output>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="sayHi">
>>>             <soap:operation soapAction="" style="document"/>
>>>             <wsdl:input name="sayHiRequest">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:input>
>>>             <wsdl:output name="sayHiResponse">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:output>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="greetMeOneWay">
>>>             <soap:operation soapaction="" style="document"/>
>>>             <wsdl:input name="greetMeOneWayRequest">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:input>
>>>         </wsdl:operation>
>>>     </wsdl:binding>
>>>
>>>     <wsdl:service name="JMSGreeterService">
>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>> name="GreeterPort">
>>>                <jms:address
>>>                    destinationStyle="queue"
>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>
>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>
>>>                    <jms:JMSNamingProperty
>>> name="java.naming.factory.initial"
>>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>>                    <jms:JMSNamingProperty name="java.naming.provider.url"
>>> value="tcp://yfgm-2003b:61616"/>
>>>
>>>               </jms:address>
>>>            </wsdl:port>
>>>     </wsdl:service>
>>> </wsdl:definitions>
>>>
>>> 2. I create a CXF-BC provider to communicate with that serivce. the wsdl
>>> is just as the same with above, the xbean.xml is
>>>  <?xml version="1.0" encoding="UTF-8"?>
>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>>>             locationURI="tcp://yfgm-2003b:61616"
>>>                       service="greeter:JMSGreeterService"
>>>                       endpoint="GreeterPort"/>
>>> </beans>
>>>
>>> 3. Create a CXF-BC consumer as a proxied endpoint that other application
>>> can access the service via SMX, the xbean.xml is
>>>  <?xml version="1.0" encoding="UTF-8"?>
>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>>>             service="greeter:JMSGreeterService"
>>>            endpoint="GreeterPort2"
>>>                       targetEndpoint="GreeterPort"
>>>                       targetService="greeter:JMSGreeterService"
>>>                       />
>>> </beans>
>>>
>>> And the WSDL is
>>> <wsdl:definitions name="JMSGreeterService"
>>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>>     <wsdl:types>
>>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>             xmlns="http://www.w3.org/2001/XMLSchema"
>>> elementFormDefault="qualified">
>>>             <element name="sayHi">
>>>                 <complexType/>
>>>             </element>
>>>             <element name="sayHiResponse">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="responseType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>             <element name="greetMe">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="requestType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>             <element name="greetMeResponse">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="responseType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>             <element name="greetMeOneWay">
>>>                 <complexType>
>>>                     <sequence>
>>>                         <element name="requestType" type="xsd:string"/>
>>>                     </sequence>
>>>                 </complexType>
>>>             </element>
>>>         </schema>
>>>     </wsdl:types>
>>>
>>>
>>>     <wsdl:message name="sayHiRequest">
>>>         <wsdl:part element="x1:sayHi" name="in"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="sayHiResponse">
>>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="greetMeRequest">
>>>         <wsdl:part element="x1:greetMe" name="in"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="greetMeResponse">
>>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>>     </wsdl:message>
>>>     <wsdl:message name="greetMeOneWayRequest">
>>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>>     </wsdl:message>
>>>
>>>     <wsdl:portType name="JMSGreeterPortType">
>>>         <wsdl:operation name="sayHi">
>>>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>>>             <wsdl:output message="tns:sayHiResponse"
>>> name="sayHiResponse"/>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="greetMe">
>>>             <wsdl:input message="tns:greetMeRequest"
>>> name="greetMeRequest"/>
>>>             <wsdl:output message="tns:greetMeResponse"
>>> name="greetMeResponse"/>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="greetMeOneWay">
>>>             <wsdl:input message="tns:greetMeOneWayRequest"
>>> name="greetMeOneWayRequest"/>
>>>         </wsdl:operation>
>>>     </wsdl:portType>
>>>
>>>     <wsdl:binding name="JMSGreeterPortBinding"
>>> type="tns:JMSGreeterPortType">
>>>         <soap:binding style="document" transport="
>>> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>>>     
>>>         <wsdl:operation name="greetMe">
>>>             <soap:operation soapAction="" style="document"/>
>>>             <wsdl:input name="greetMeRequest">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:input>
>>>             <wsdl:output name="greetMeResponse">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:output>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="sayHi">
>>>             <soap:operation soapAction="" style="document"/>
>>>             <wsdl:input name="sayHiRequest">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:input>
>>>             <wsdl:output name="sayHiResponse">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:output>
>>>         </wsdl:operation>
>>>
>>>         <wsdl:operation name="greetMeOneWay">
>>>             <soap:operation style="document"/>
>>>             <wsdl:input name="greetMeOneWayRequest">
>>>                 <soap:body use="literal"/>
>>>             </wsdl:input>
>>>         </wsdl:operation>
>>>     </wsdl:binding>
>>>
>>>     <wsdl:service name="JMSGreeterService">
>>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>>> name="GreeterPort2">
>>>                <jms:address
>>>                    destinationStyle="queue"
>>>                    jndiConnectionFactoryName="ConnectionFactory"
>>>
>>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>>
>>>                    <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>
>>>            </wsdl:port>
>>>     </wsdl:service>
>>> </wsdl:definitions>
>>>
>>> 4. Then I run the client, the error occur like I show in the pervious
>>> mail.
>>> public final class Client {
>>>     private Client() {
>>>     }
>>>     public static void main(String[] args) throws Exception {
>>>
>>>         if (args.length == 0) {
>>>             System.out.println("please specify wsdl");
>>>             System.exit(1);
>>>         }
>>>
>>>         if (args.length == 1) {
>>>             System.out.println("please specify url");
>>>             System.exit(1);
>>>         }
>>>
>>>         if (args.length == 2) {
>>>             System.out.println("please specify Service Name");
>>>             System.exit(1);
>>>         }
>>>
>>>         if (args.length == 3) {
>>>             System.out.println("please specify Port Name");
>>>             System.exit(1);
>>>         }
>>>
>>>         final QName SERVICE_NAME =
>>>             new QName(args[1], args[2]);
>>>         final QName PORT_NAME =
>>>             new QName(args[1], args[3]);
>>>         File wsdl = new File(args[0]);
>>>         JMSGreeterService service = new JMSGreeterService(wsdl.toURL(),
>>> SERVICE_NAME);
>>>         JMSGreeterPortType greeter =
>>> (JMSGreeterPortType)service.getPort(PORT_NAME, JMSGreeterPortType.class);
>>>         System.out.println("Invoking sayHi...");
>>>         System.out.println("server responded with: " + greeter.sayHi());
>>>         System.out.println();
>>>         System.out.println("Invoking greetMe...");
>>>         System.out.println("server responded with: " +
>>> greeter.greetMe(System.getProperty("user.name")));
>>>         System.out.println();
>>>         System.out.println("Invoking greetMeOneWay...");
>>>         greeter.greetMeOneWay(System.getProperty("user.name"));
>>>         System.out.println("No response from server as method is OneWay");
>>>         System.out.println();
>>>
>>>         System.exit(0);
>>>     }
>>> }
>>> Thanks & best regards
>>> Jackey
>>>
>>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>>>
>>> Hi Jackey,
>>>     
>>>       
>>>> How you run the tests in smx? Using maven?
>>>> And just append your configuration.
>>>>
>>>> Regards
>>>>
>>>> Freeman
>>>>
>>>> Jackey Ding wrote:
>>>>       
>>>>         
>>>>> hi,
>>>>>
>>>>> I just run some cxf-bc tests in smx. All the cases are run ok, but I
>>>>>         
>>>>>           
>>>> found
>>>>       
>>>>         
>>>>> some error message show in the smx console. Is something wrong with my
>>>>> configurations?
>>>>>
>>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
>>>>> 严重: JMSClientTransport.receive() timed out. No message available.
>>>>> ERROR - CxfBcComponent                 - Error processing exchange
>>>>>         
>>>>>           
>>>> InOnly[
>>>>       
>>>>         
>>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
>>>>>   status: Active
>>>>>   role: provider
>>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>>   endpoint: GreeterPort
>>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
>>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
>>>>> http://cxf.apache.org/j
>>>>> ms_greeter" name="greetMeOneWayRequest"
>>>>>         
>>>>>           
>>>> type="msg:greetMeOneWayRequest"
>>>>       
>>>>         
>>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
>>>>> http://cxf.apache.org/jms_greete
>>>>>
>>>>>         
>>>>>           
>>>> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
>>>>       
>>>>         
>>>>> ]
>>>>> java.io.IOException: javax.jms.JMSException:
>>>>>         
>>>>>           
>>>> JMSClientTransport.receive()
>>>>       
>>>>         
>>>>> timed out. No message available.
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>       
>>>>         
>>>>>         at
>>>>>
>>>>>         
>>>>>           
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>       
>>>>         
>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>>
>>>>> Thanks & best regards
>>>>> Jackey
>>>>>
>>>>>         
>>>>>           
>>>>       
>>>>         
>
>
>   


Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Hi Jackey,

>From the log, JMSConduit shouldn't wait for response since it's oneway
method.
I go through the code and found there is a bug for oneway invocation,
fill jira [1] to track it.

I will fix it up asap
[1]https://issues.apache.org/activemq/browse/SM-1334

Freeman

Jackey Ding wrote:
> Any response?
>
> Jackey
>
> 2008/4/25 Jackey Ding <no...@gmail.com>:
>
>   
>>  Hi Freeman,
>>
>> 1. I have a JMS provider running outside of SMX, the WSDL is
>> <wsdl:definitions name="JMSGreeterService"
>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>     <wsdl:types>
>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>             xmlns="http://www.w3.org/2001/XMLSchema"
>> elementFormDefault="qualified">
>>             <element name="sayHi">
>>                 <complexType/>
>>             </element>
>>             <element name="sayHiResponse">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="responseType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>             <element name="greetMe">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="requestType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>             <element name="greetMeResponse">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="responseType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>             <element name="greetMeOneWay">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="requestType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>         </schema>
>>     </wsdl:types>
>>
>>
>>     <wsdl:message name="sayHiRequest">
>>         <wsdl:part element="x1:sayHi" name="in"/>
>>     </wsdl:message>
>>     <wsdl:message name="sayHiResponse">
>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>     </wsdl:message>
>>     <wsdl:message name="greetMeRequest">
>>         <wsdl:part element="x1:greetMe" name="in"/>
>>     </wsdl:message>
>>     <wsdl:message name="greetMeResponse">
>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>     </wsdl:message>
>>     <wsdl:message name="greetMeOneWayRequest">
>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>     </wsdl:message>
>>
>>     <wsdl:portType name="JMSGreeterPortType">
>>         <wsdl:operation name="sayHi">
>>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>>             <wsdl:output message="tns:sayHiResponse"
>> name="sayHiResponse"/>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="greetMe">
>>             <wsdl:input message="tns:greetMeRequest"
>> name="greetMeRequest"/>
>>             <wsdl:output message="tns:greetMeResponse"
>> name="greetMeResponse"/>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="greetMeOneWay">
>>             <wsdl:input message="tns:greetMeOneWayRequest"
>> name="greetMeOneWayRequest"/>
>>         </wsdl:operation>
>>     </wsdl:portType>
>>
>>     <wsdl:binding name="JMSGreeterPortBinding"
>> type="tns:JMSGreeterPortType">
>>         <soap:binding style="document" transport="
>> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>>     
>>         <wsdl:operation name="greetMe">
>>             <soap:operation soapAction="" style="document"/>
>>             <wsdl:input name="greetMeRequest">
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output name="greetMeResponse">
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="sayHi">
>>             <soap:operation soapAction="" style="document"/>
>>             <wsdl:input name="sayHiRequest">
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output name="sayHiResponse">
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="greetMeOneWay">
>>             <soap:operation soapaction="" style="document"/>
>>             <wsdl:input name="greetMeOneWayRequest">
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>
>>     <wsdl:service name="JMSGreeterService">
>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>> name="GreeterPort">
>>                <jms:address
>>                    destinationStyle="queue"
>>                    jndiConnectionFactoryName="ConnectionFactory"
>>
>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>
>>                    <jms:JMSNamingProperty
>> name="java.naming.factory.initial"
>> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>>                    <jms:JMSNamingProperty name="java.naming.provider.url"
>> value="tcp://yfgm-2003b:61616"/>
>>
>>               </jms:address>
>>            </wsdl:port>
>>     </wsdl:service>
>> </wsdl:definitions>
>>
>> 2. I create a CXF-BC provider to communicate with that serivce. the wsdl
>> is just as the same with above, the xbean.xml is
>>  <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>>             locationURI="tcp://yfgm-2003b:61616"
>>                       service="greeter:JMSGreeterService"
>>                       endpoint="GreeterPort"/>
>> </beans>
>>
>> 3. Create a CXF-BC consumer as a proxied endpoint that other application
>> can access the service via SMX, the xbean.xml is
>>  <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>>             service="greeter:JMSGreeterService"
>>            endpoint="GreeterPort2"
>>                       targetEndpoint="GreeterPort"
>>                       targetService="greeter:JMSGreeterService"
>>                       />
>> </beans>
>>
>> And the WSDL is
>> <wsdl:definitions name="JMSGreeterService"
>>     targetNamespace="http://cxf.apache.org/jms_greeter"
>>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>>     xmlns:jms="http://cxf.apache.org/transports/jms"
>>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>>     <wsdl:types>
>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>             xmlns="http://www.w3.org/2001/XMLSchema"
>> elementFormDefault="qualified">
>>             <element name="sayHi">
>>                 <complexType/>
>>             </element>
>>             <element name="sayHiResponse">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="responseType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>             <element name="greetMe">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="requestType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>             <element name="greetMeResponse">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="responseType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>             <element name="greetMeOneWay">
>>                 <complexType>
>>                     <sequence>
>>                         <element name="requestType" type="xsd:string"/>
>>                     </sequence>
>>                 </complexType>
>>             </element>
>>         </schema>
>>     </wsdl:types>
>>
>>
>>     <wsdl:message name="sayHiRequest">
>>         <wsdl:part element="x1:sayHi" name="in"/>
>>     </wsdl:message>
>>     <wsdl:message name="sayHiResponse">
>>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>>     </wsdl:message>
>>     <wsdl:message name="greetMeRequest">
>>         <wsdl:part element="x1:greetMe" name="in"/>
>>     </wsdl:message>
>>     <wsdl:message name="greetMeResponse">
>>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>>     </wsdl:message>
>>     <wsdl:message name="greetMeOneWayRequest">
>>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>>     </wsdl:message>
>>
>>     <wsdl:portType name="JMSGreeterPortType">
>>         <wsdl:operation name="sayHi">
>>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>>             <wsdl:output message="tns:sayHiResponse"
>> name="sayHiResponse"/>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="greetMe">
>>             <wsdl:input message="tns:greetMeRequest"
>> name="greetMeRequest"/>
>>             <wsdl:output message="tns:greetMeResponse"
>> name="greetMeResponse"/>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="greetMeOneWay">
>>             <wsdl:input message="tns:greetMeOneWayRequest"
>> name="greetMeOneWayRequest"/>
>>         </wsdl:operation>
>>     </wsdl:portType>
>>
>>     <wsdl:binding name="JMSGreeterPortBinding"
>> type="tns:JMSGreeterPortType">
>>         <soap:binding style="document" transport="
>> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>>     
>>         <wsdl:operation name="greetMe">
>>             <soap:operation soapAction="" style="document"/>
>>             <wsdl:input name="greetMeRequest">
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output name="greetMeResponse">
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="sayHi">
>>             <soap:operation soapAction="" style="document"/>
>>             <wsdl:input name="sayHiRequest">
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output name="sayHiResponse">
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>         </wsdl:operation>
>>
>>         <wsdl:operation name="greetMeOneWay">
>>             <soap:operation style="document"/>
>>             <wsdl:input name="greetMeOneWayRequest">
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>
>>     <wsdl:service name="JMSGreeterService">
>>            <wsdl:port binding="tns:JMSGreeterPortBinding"
>> name="GreeterPort2">
>>                <jms:address
>>                    destinationStyle="queue"
>>                    jndiConnectionFactoryName="ConnectionFactory"
>>
>> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>>
>>                    <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>
>>            </wsdl:port>
>>     </wsdl:service>
>> </wsdl:definitions>
>>
>> 4. Then I run the client, the error occur like I show in the pervious
>> mail.
>> public final class Client {
>>     private Client() {
>>     }
>>     public static void main(String[] args) throws Exception {
>>
>>         if (args.length == 0) {
>>             System.out.println("please specify wsdl");
>>             System.exit(1);
>>         }
>>
>>         if (args.length == 1) {
>>             System.out.println("please specify url");
>>             System.exit(1);
>>         }
>>
>>         if (args.length == 2) {
>>             System.out.println("please specify Service Name");
>>             System.exit(1);
>>         }
>>
>>         if (args.length == 3) {
>>             System.out.println("please specify Port Name");
>>             System.exit(1);
>>         }
>>
>>         final QName SERVICE_NAME =
>>             new QName(args[1], args[2]);
>>         final QName PORT_NAME =
>>             new QName(args[1], args[3]);
>>         File wsdl = new File(args[0]);
>>         JMSGreeterService service = new JMSGreeterService(wsdl.toURL(),
>> SERVICE_NAME);
>>         JMSGreeterPortType greeter =
>> (JMSGreeterPortType)service.getPort(PORT_NAME, JMSGreeterPortType.class);
>>         System.out.println("Invoking sayHi...");
>>         System.out.println("server responded with: " + greeter.sayHi());
>>         System.out.println();
>>         System.out.println("Invoking greetMe...");
>>         System.out.println("server responded with: " +
>> greeter.greetMe(System.getProperty("user.name")));
>>         System.out.println();
>>         System.out.println("Invoking greetMeOneWay...");
>>         greeter.greetMeOneWay(System.getProperty("user.name"));
>>         System.out.println("No response from server as method is OneWay");
>>         System.out.println();
>>
>>         System.exit(0);
>>     }
>> }
>> Thanks & best regards
>> Jackey
>>
>> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>>
>> Hi Jackey,
>>     
>>> How you run the tests in smx? Using maven?
>>> And just append your configuration.
>>>
>>> Regards
>>>
>>> Freeman
>>>
>>> Jackey Ding wrote:
>>>       
>>>> hi,
>>>>
>>>> I just run some cxf-bc tests in smx. All the cases are run ok, but I
>>>>         
>>> found
>>>       
>>>> some error message show in the smx console. Is something wrong with my
>>>> configurations?
>>>>
>>>> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
>>>> 严重: JMSClientTransport.receive() timed out. No message available.
>>>> ERROR - CxfBcComponent                 - Error processing exchange
>>>>         
>>> InOnly[
>>>       
>>>>   id: ID:192.168.1.8-11983ed72fd-4:3
>>>>   status: Active
>>>>   role: provider
>>>>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
>>>>   endpoint: GreeterPort
>>>>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
>>>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
>>>> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
>>>> http://cxf.apache.org/j
>>>> ms_greeter" name="greetMeOneWayRequest"
>>>>         
>>> type="msg:greetMeOneWayRequest"
>>>       
>>>> version="1.0"><jbi:part><greetMeOneWay xmlns="
>>>> http://cxf.apache.org/jms_greete
>>>>
>>>>         
>>> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
>>>       
>>>> ]
>>>> java.io.IOException: javax.jms.JMSException:
>>>>         
>>> JMSClientTransport.receive()
>>>       
>>>> timed out. No message available.
>>>>         at
>>>>
>>>>         
>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>       
>>>>         at
>>>>
>>>>         
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>       
>>>>         at
>>>>
>>>>         
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>       
>>>>         at
>>>>
>>>>         
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>       
>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>
>>>> Thanks & best regards
>>>> Jackey
>>>>
>>>>         
>>>       


Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Jackey Ding <no...@gmail.com>.
Any response?

Jackey

2008/4/25 Jackey Ding <no...@gmail.com>:

> Hi Freeman,
>
> 1. I have a JMS provider running outside of SMX, the WSDL is
> <wsdl:definitions name="JMSGreeterService"
>     targetNamespace="http://cxf.apache.org/jms_greeter"
>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:jms="http://cxf.apache.org/transports/jms"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>     <wsdl:types>
>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>             xmlns="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified">
>             <element name="sayHi">
>                 <complexType/>
>             </element>
>             <element name="sayHiResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="responseType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMe">
>                 <complexType>
>                     <sequence>
>                         <element name="requestType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMeResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="responseType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMeOneWay">
>                 <complexType>
>                     <sequence>
>                         <element name="requestType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>         </schema>
>     </wsdl:types>
>
>
>     <wsdl:message name="sayHiRequest">
>         <wsdl:part element="x1:sayHi" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="sayHiResponse">
>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeRequest">
>         <wsdl:part element="x1:greetMe" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeResponse">
>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeOneWayRequest">
>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>     </wsdl:message>
>
>     <wsdl:portType name="JMSGreeterPortType">
>         <wsdl:operation name="sayHi">
>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>             <wsdl:output message="tns:sayHiResponse"
> name="sayHiResponse"/>
>         </wsdl:operation>
>
>         <wsdl:operation name="greetMe">
>             <wsdl:input message="tns:greetMeRequest"
> name="greetMeRequest"/>
>             <wsdl:output message="tns:greetMeResponse"
> name="greetMeResponse"/>
>         </wsdl:operation>
>
>         <wsdl:operation name="greetMeOneWay">
>             <wsdl:input message="tns:greetMeOneWayRequest"
> name="greetMeOneWayRequest"/>
>         </wsdl:operation>
>     </wsdl:portType>
>
>     <wsdl:binding name="JMSGreeterPortBinding"
> type="tns:JMSGreeterPortType">
>         <soap:binding style="document" transport="
> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
> >
>
>         <wsdl:operation name="greetMe">
>             <soap:operation soapAction="" style="document"/>
>             <wsdl:input name="greetMeRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="greetMeResponse">
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>
>         <wsdl:operation name="sayHi">
>             <soap:operation soapAction="" style="document"/>
>             <wsdl:input name="sayHiRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="sayHiResponse">
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>
>         <wsdl:operation name="greetMeOneWay">
>             <soap:operation soapaction="" style="document"/>
>             <wsdl:input name="greetMeOneWayRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>         </wsdl:operation>
>     </wsdl:binding>
>
>     <wsdl:service name="JMSGreeterService">
>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> name="GreeterPort">
>                <jms:address
>                    destinationStyle="queue"
>                    jndiConnectionFactoryName="ConnectionFactory"
>
> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>
>                    <jms:JMSNamingProperty
> name="java.naming.factory.initial"
> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
>                    <jms:JMSNamingProperty name="java.naming.provider.url"
> value="tcp://yfgm-2003b:61616"/>
>
>               </jms:address>
>            </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>
>
> 2. I create a CXF-BC provider to communicate with that serivce. the wsdl
> is just as the same with above, the xbean.xml is
>  <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>  <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
>             locationURI="tcp://yfgm-2003b:61616"
>                       service="greeter:JMSGreeterService"
>                       endpoint="GreeterPort"/>
> </beans>
>
> 3. Create a CXF-BC consumer as a proxied endpoint that other application
> can access the service via SMX, the xbean.xml is
>  <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>     xmlns:greeter="http://cxf.apache.org/jms_greeter">
>   <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
>             service="greeter:JMSGreeterService"
>            endpoint="GreeterPort2"
>                       targetEndpoint="GreeterPort"
>                       targetService="greeter:JMSGreeterService"
>                       />
> </beans>
>
> And the WSDL is
> <wsdl:definitions name="JMSGreeterService"
>     targetNamespace="http://cxf.apache.org/jms_greeter"
>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:jms="http://cxf.apache.org/transports/jms"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>     xmlns:tns="http://cxf.apache.org/jms_greeter"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:x1="http://cxf.apache.org/jms_greeter/types">
>     <wsdl:types>
>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>             xmlns="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified">
>             <element name="sayHi">
>                 <complexType/>
>             </element>
>             <element name="sayHiResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="responseType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMe">
>                 <complexType>
>                     <sequence>
>                         <element name="requestType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMeResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="responseType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="greetMeOneWay">
>                 <complexType>
>                     <sequence>
>                         <element name="requestType" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>         </schema>
>     </wsdl:types>
>
>
>     <wsdl:message name="sayHiRequest">
>         <wsdl:part element="x1:sayHi" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="sayHiResponse">
>         <wsdl:part element="x1:sayHiResponse" name="out"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeRequest">
>         <wsdl:part element="x1:greetMe" name="in"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeResponse">
>         <wsdl:part element="x1:greetMeResponse" name="out"/>
>     </wsdl:message>
>     <wsdl:message name="greetMeOneWayRequest">
>         <wsdl:part element="x1:greetMeOneWay" name="in"/>
>     </wsdl:message>
>
>     <wsdl:portType name="JMSGreeterPortType">
>         <wsdl:operation name="sayHi">
>             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
>             <wsdl:output message="tns:sayHiResponse"
> name="sayHiResponse"/>
>         </wsdl:operation>
>
>         <wsdl:operation name="greetMe">
>             <wsdl:input message="tns:greetMeRequest"
> name="greetMeRequest"/>
>             <wsdl:output message="tns:greetMeResponse"
> name="greetMeResponse"/>
>         </wsdl:operation>
>
>         <wsdl:operation name="greetMeOneWay">
>             <wsdl:input message="tns:greetMeOneWayRequest"
> name="greetMeOneWayRequest"/>
>         </wsdl:operation>
>     </wsdl:portType>
>
>     <wsdl:binding name="JMSGreeterPortBinding"
> type="tns:JMSGreeterPortType">
>         <soap:binding style="document" transport="
> http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
> >
>
>         <wsdl:operation name="greetMe">
>             <soap:operation soapAction="" style="document"/>
>             <wsdl:input name="greetMeRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="greetMeResponse">
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>
>         <wsdl:operation name="sayHi">
>             <soap:operation soapAction="" style="document"/>
>             <wsdl:input name="sayHiRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="sayHiResponse">
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>
>         <wsdl:operation name="greetMeOneWay">
>             <soap:operation style="document"/>
>             <wsdl:input name="greetMeOneWayRequest">
>                 <soap:body use="literal"/>
>             </wsdl:input>
>         </wsdl:operation>
>     </wsdl:binding>
>
>     <wsdl:service name="JMSGreeterService">
>            <wsdl:port binding="tns:JMSGreeterPortBinding"
> name="GreeterPort2">
>                <jms:address
>                    destinationStyle="queue"
>                    jndiConnectionFactoryName="ConnectionFactory"
>
> jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">
>
>                    <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>
>            </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>
>
> 4. Then I run the client, the error occur like I show in the pervious
> mail.
> public final class Client {
>     private Client() {
>     }
>     public static void main(String[] args) throws Exception {
>
>         if (args.length == 0) {
>             System.out.println("please specify wsdl");
>             System.exit(1);
>         }
>
>         if (args.length == 1) {
>             System.out.println("please specify url");
>             System.exit(1);
>         }
>
>         if (args.length == 2) {
>             System.out.println("please specify Service Name");
>             System.exit(1);
>         }
>
>         if (args.length == 3) {
>             System.out.println("please specify Port Name");
>             System.exit(1);
>         }
>
>         final QName SERVICE_NAME =
>             new QName(args[1], args[2]);
>         final QName PORT_NAME =
>             new QName(args[1], args[3]);
>         File wsdl = new File(args[0]);
>         JMSGreeterService service = new JMSGreeterService(wsdl.toURL(),
> SERVICE_NAME);
>         JMSGreeterPortType greeter =
> (JMSGreeterPortType)service.getPort(PORT_NAME, JMSGreeterPortType.class);
>         System.out.println("Invoking sayHi...");
>         System.out.println("server responded with: " + greeter.sayHi());
>         System.out.println();
>         System.out.println("Invoking greetMe...");
>         System.out.println("server responded with: " +
> greeter.greetMe(System.getProperty("user.name")));
>         System.out.println();
>         System.out.println("Invoking greetMeOneWay...");
>         greeter.greetMeOneWay(System.getProperty("user.name"));
>         System.out.println("No response from server as method is OneWay");
>         System.out.println();
>
>         System.exit(0);
>     }
> }
> Thanks & best regards
> Jackey
>
> 2008/4/25 Freeman Fang <fr...@gmail.com>:
>
> Hi Jackey,
> >
> > How you run the tests in smx? Using maven?
> > And just append your configuration.
> >
> > Regards
> >
> > Freeman
> >
> > Jackey Ding wrote:
> > > hi,
> > >
> > > I just run some cxf-bc tests in smx. All the cases are run ok, but I
> > found
> > > some error message show in the smx console. Is something wrong with my
> > > configurations?
> > >
> > > 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
> > > 严重: JMSClientTransport.receive() timed out. No message available.
> > > ERROR - CxfBcComponent                 - Error processing exchange
> > InOnly[
> > >   id: ID:192.168.1.8-11983ed72fd-4:3
> > >   status: Active
> > >   role: provider
> > >   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> > >   endpoint: GreeterPort
> > >   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> > >   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
> > > http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> > > http://cxf.apache.org/j
> > > ms_greeter" name="greetMeOneWayRequest"
> > type="msg:greetMeOneWayRequest"
> > > version="1.0"><jbi:part><greetMeOneWay xmlns="
> > > http://cxf.apache.org/jms_greete
> > >
> > r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> > > ]
> > > java.io.IOException: javax.jms.JMSException:
> > JMSClientTransport.receive()
> > > timed out. No message available.
> > >         at
> > >
> > org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
> > >         at
> > >
> > org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
> > >         at
> > >
> > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
> > >         at
> > >
> > org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> > >         at
> > >
> > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> > >         at
> > >
> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> > >         at
> > >
> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> > >         at
> > >
> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> > >         at
> > >
> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> > >         at
> > >
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> > >         at
> > >
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> > >         at
> > >
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> > >         at
> > >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> > >         at java.lang.Thread.run(Thread.java:595)
> > >
> > > Thanks & best regards
> > > Jackey
> > >
> >
> >
>

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Jackey Ding <no...@gmail.com>.
Hi Freeman,

1. I have a JMS provider running outside of SMX, the WSDL is
<wsdl:definitions name="JMSGreeterService"
    targetNamespace="http://cxf.apache.org/jms_greeter"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:jms="http://cxf.apache.org/transports/jms"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://cxf.apache.org/jms_greeter"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:x1="http://cxf.apache.org/jms_greeter/types">
    <wsdl:types>
        <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
            xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
            <element name="sayHi">
                <complexType/>
            </element>
            <element name="sayHiResponse">
                <complexType>
                    <sequence>
                        <element name="responseType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="greetMe">
                <complexType>
                    <sequence>
                        <element name="requestType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="greetMeResponse">
                <complexType>
                    <sequence>
                        <element name="responseType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="greetMeOneWay">
                <complexType>
                    <sequence>
                        <element name="requestType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </wsdl:types>


    <wsdl:message name="sayHiRequest">
        <wsdl:part element="x1:sayHi" name="in"/>
    </wsdl:message>
    <wsdl:message name="sayHiResponse">
        <wsdl:part element="x1:sayHiResponse" name="out"/>
    </wsdl:message>
    <wsdl:message name="greetMeRequest">
        <wsdl:part element="x1:greetMe" name="in"/>
    </wsdl:message>
    <wsdl:message name="greetMeResponse">
        <wsdl:part element="x1:greetMeResponse" name="out"/>
    </wsdl:message>
    <wsdl:message name="greetMeOneWayRequest">
        <wsdl:part element="x1:greetMeOneWay" name="in"/>
    </wsdl:message>

    <wsdl:portType name="JMSGreeterPortType">
        <wsdl:operation name="sayHi">
            <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
            <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
        </wsdl:operation>

        <wsdl:operation name="greetMe">
            <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
            <wsdl:output message="tns:greetMeResponse"
name="greetMeResponse"/>
        </wsdl:operation>

        <wsdl:operation name="greetMeOneWay">
            <wsdl:input message="tns:greetMeOneWayRequest"
name="greetMeOneWayRequest"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="JMSGreeterPortBinding"
type="tns:JMSGreeterPortType">
        <soap:binding style="document" transport="
http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>

        <wsdl:operation name="greetMe">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="greetMeRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="greetMeResponse">
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="sayHi">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="sayHiRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="sayHiResponse">
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="greetMeOneWay">
            <soap:operation soapaction="" style="document"/>
            <wsdl:input name="greetMeOneWayRequest">
                <soap:body use="literal"/>
            </wsdl:input>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="JMSGreeterService">
           <wsdl:port binding="tns:JMSGreeterPortBinding"
name="GreeterPort">
               <jms:address
                   destinationStyle="queue"
                   jndiConnectionFactoryName="ConnectionFactory"

jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">

                   <jms:JMSNamingProperty name="java.naming.factory.initial"
value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
                   <jms:JMSNamingProperty name="java.naming.provider.url"
value="tcp://yfgm-2003b:61616"/>

              </jms:address>
           </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

2. I create a CXF-BC provider to communicate with that serivce. the wsdl is
just as the same with above, the xbean.xml is
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
    xmlns:greeter="http://cxf.apache.org/jms_greeter">
 <cxfbc:provider wsdl="classpath:jms_greeter@yfgm-2003b.wsdl"
            locationURI="tcp://yfgm-2003b:61616"
                      service="greeter:JMSGreeterService"
                      endpoint="GreeterPort"/>
</beans>

3. Create a CXF-BC consumer as a proxied endpoint that other application can
access the service via SMX, the xbean.xml is
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
    xmlns:greeter="http://cxf.apache.org/jms_greeter">
  <cxfbc:consumer wsdl="classpath:jms_greeter@localhost.wsdl"
            service="greeter:JMSGreeterService"
           endpoint="GreeterPort2"
                      targetEndpoint="GreeterPort"
                      targetService="greeter:JMSGreeterService"
                      />
</beans>

And the WSDL is
<wsdl:definitions name="JMSGreeterService"
    targetNamespace="http://cxf.apache.org/jms_greeter"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:jms="http://cxf.apache.org/transports/jms"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://cxf.apache.org/jms_greeter"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:x1="http://cxf.apache.org/jms_greeter/types">
    <wsdl:types>
        <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
            xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
            <element name="sayHi">
                <complexType/>
            </element>
            <element name="sayHiResponse">
                <complexType>
                    <sequence>
                        <element name="responseType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="greetMe">
                <complexType>
                    <sequence>
                        <element name="requestType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="greetMeResponse">
                <complexType>
                    <sequence>
                        <element name="responseType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="greetMeOneWay">
                <complexType>
                    <sequence>
                        <element name="requestType" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </wsdl:types>


    <wsdl:message name="sayHiRequest">
        <wsdl:part element="x1:sayHi" name="in"/>
    </wsdl:message>
    <wsdl:message name="sayHiResponse">
        <wsdl:part element="x1:sayHiResponse" name="out"/>
    </wsdl:message>
    <wsdl:message name="greetMeRequest">
        <wsdl:part element="x1:greetMe" name="in"/>
    </wsdl:message>
    <wsdl:message name="greetMeResponse">
        <wsdl:part element="x1:greetMeResponse" name="out"/>
    </wsdl:message>
    <wsdl:message name="greetMeOneWayRequest">
        <wsdl:part element="x1:greetMeOneWay" name="in"/>
    </wsdl:message>

    <wsdl:portType name="JMSGreeterPortType">
        <wsdl:operation name="sayHi">
            <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
            <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
        </wsdl:operation>

        <wsdl:operation name="greetMe">
            <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
            <wsdl:output message="tns:greetMeResponse"
name="greetMeResponse"/>
        </wsdl:operation>

        <wsdl:operation name="greetMeOneWay">
            <wsdl:input message="tns:greetMeOneWayRequest"
name="greetMeOneWayRequest"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="JMSGreeterPortBinding"
type="tns:JMSGreeterPortType">
        <soap:binding style="document" transport="
http://cxf.apache.org/transport/jms"/<http://cxf.apache.org/transport/jms%22/>
>

        <wsdl:operation name="greetMe">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="greetMeRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="greetMeResponse">
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="sayHi">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="sayHiRequest">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="sayHiResponse">
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>

        <wsdl:operation name="greetMeOneWay">
            <soap:operation style="document"/>
            <wsdl:input name="greetMeOneWayRequest">
                <soap:body use="literal"/>
            </wsdl:input>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="JMSGreeterService">
           <wsdl:port binding="tns:JMSGreeterPortBinding"
name="GreeterPort2">
               <jms:address
                   destinationStyle="queue"
                   jndiConnectionFactoryName="ConnectionFactory"

jndiDestinationName="dynamicQueues/test.cxf.jmstransport.queue">

                   <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>
           </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

4. Then I run the client, the error occur like I show in the pervious mail.
public final class Client {
    private Client() {
    }
    public static void main(String[] args) throws Exception {

        if (args.length == 0) {
            System.out.println("please specify wsdl");
            System.exit(1);
        }

        if (args.length == 1) {
            System.out.println("please specify url");
            System.exit(1);
        }

        if (args.length == 2) {
            System.out.println("please specify Service Name");
            System.exit(1);
        }

        if (args.length == 3) {
            System.out.println("please specify Port Name");
            System.exit(1);
        }

        final QName SERVICE_NAME =
            new QName(args[1], args[2]);
        final QName PORT_NAME =
            new QName(args[1], args[3]);
        File wsdl = new File(args[0]);
        JMSGreeterService service = new JMSGreeterService(wsdl.toURL(),
SERVICE_NAME);
        JMSGreeterPortType greeter =
(JMSGreeterPortType)service.getPort(PORT_NAME, JMSGreeterPortType.class);
        System.out.println("Invoking sayHi...");
        System.out.println("server responded with: " + greeter.sayHi());
        System.out.println();
        System.out.println("Invoking greetMe...");
        System.out.println("server responded with: " +
greeter.greetMe(System.getProperty("user.name")));
        System.out.println();
        System.out.println("Invoking greetMeOneWay...");
        greeter.greetMeOneWay(System.getProperty("user.name"));
        System.out.println("No response from server as method is OneWay");
        System.out.println();

        System.exit(0);
    }
}
Thanks & best regards
Jackey

2008/4/25 Freeman Fang <fr...@gmail.com>:

> Hi Jackey,
>
> How you run the tests in smx? Using maven?
> And just append your configuration.
>
> Regards
>
> Freeman
>
> Jackey Ding wrote:
> > hi,
> >
> > I just run some cxf-bc tests in smx. All the cases are run ok, but I
> found
> > some error message show in the smx console. Is something wrong with my
> > configurations?
> >
> > 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
> > 严重: JMSClientTransport.receive() timed out. No message available.
> > ERROR - CxfBcComponent                 - Error processing exchange
> InOnly[
> >   id: ID:192.168.1.8-11983ed72fd-4:3
> >   status: Active
> >   role: provider
> >   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService<http://cxf.apache.org/jms_greeter%7DJMSGreeterService>
> >   endpoint: GreeterPort
> >   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay<http://cxf.apache.org/jms_greeter%7DgreetMeOneWay>
> >   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
> > http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> > http://cxf.apache.org/j
> > ms_greeter" name="greetMeOneWayRequest" type="msg:greetMeOneWayRequest"
> > version="1.0"><jbi:part><greetMeOneWay xmlns="
> > http://cxf.apache.org/jms_greete
> >
> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> > ]
> > java.io.IOException: javax.jms.JMSException: JMSClientTransport.receive()
> > timed out. No message available.
> >         at
> >
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
> >         at
> >
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
> >         at
> > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
> >         at
> > org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> >         at
> >
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> >         at
> >
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> >         at
> >
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> >         at
> >
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> >         at
> >
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> >         at
> >
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> >         at
> >
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> >         at java.lang.Thread.run(Thread.java:595)
> >
> > Thanks & best regards
> > Jackey
> >
>
>

Re: CXF-bc test case runs ok, but error message show in the smx console

Posted by Freeman Fang <fr...@gmail.com>.
Hi Jackey,

How you run the tests in smx? Using maven?
And just append your configuration.

Regards

Freeman

Jackey Ding wrote:
> hi,
>
> I just run some cxf-bc tests in smx. All the cases are run ok, but I found
> some error message show in the smx console. Is something wrong with my
> configurations?
>
> 2008-4-25 13:06:12 org.apache.cxf.transport.jms.JMSConduit receive
> 严重: JMSClientTransport.receive() timed out. No message available.
> ERROR - CxfBcComponent                 - Error processing exchange InOnly[
>   id: ID:192.168.1.8-11983ed72fd-4:3
>   status: Active
>   role: provider
>   service: {http://cxf.apache.org/jms_greeter}JMSGreeterService
>   endpoint: GreeterPort
>   operation: {http://cxf.apache.org/jms_greeter}greetMeOneWay
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="
> http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="
> http://cxf.apache.org/j
> ms_greeter" name="greetMeOneWayRequest" type="msg:greetMeOneWayRequest"
> version="1.0"><jbi:part><greetMeOneWay xmlns="
> http://cxf.apache.org/jms_greete
> r/types"><requestType>Administrator</requestType></greetMeOneWay></jbi:part></jbi:message>
> ]
> java.io.IOException: javax.jms.JMSException: JMSClientTransport.receive()
> timed out. No message available.
>         at
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.handleResponse(JMSConduit.java:369)
>         at
> org.apache.cxf.transport.jms.JMSConduit$JMSOutputStream.doClose(JMSConduit.java:258)
>         at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>         at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
>
> Thanks & best regards
> Jackey
>