1 Reply Latest reply on Jun 17, 2009 7:46 AM by Joe Luo

    "could not find service in wsdl" when deploying a jms soap consumer

    valerie choy Newbie

      Hi,

       

      I have defined a servicemix-jms soap consumer for my project. However, whenever I deploy the SA, I always encounter the error.

      Is it that I miss some attribute in the wsdl file ? Any help or insight would be very much appreciated.

       

      1) The "service" element is defined in the wsdl file as:

       

          <service name="AbwsQJmsSoapConsumerSvc">

              <port name="AbwsQJmsSoapConsumerSvcPort" binding="abws:AbWebServiceSoapBinding" >

                  <jms:address jndiConnectionFactoryName="com.mdsi.port.paJms.queueConnectionFactory"

                               jndiDestinationName="com.mdsi.port.paJms.defaultCIS0.Req2Queue" >

                      <jms:JMSNamingProperty name="java.naming.factory.initial"

                                             value="weblogic.jndi.WLInitialContextFactory" />

                      <jms:JMSNamingProperty name="java.naming.provider.url"

                                             value="t3://host-id:port" />

                  </jms:address>

                  <jms:client messageType="text" />

              </port>

          </service>

       

      2) The xbean.xml of the jms consumer is:

       

          <jms:soap-consumer service="abws:AbwsQJmsSoapConsumerSvc"

                        endpoint="AbwsQJmsSoapConsumerSvcPort"

                        targetService="abws:AbwsQCxfProviderSvc"

                        targetEndpoint="AbwsQCxfProviderSvcPort"

                        destinationName="com.mdsi.port.paJms.defaultCIS0.Req2Queue"

                        replyDestinationName="com.mdsi.port.paJms.defaultCIS0.Resp2Queue"

                        wsdl="classpath:AbwsJmsConsumer.wsdl"

                        connectionFactory="#connectionFactory"

                        destinationResolver="#jmsDestinationResolver" />

       

          <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">

              <property name="jndiName" value="com.mdsi.port.paJms.queueConnectionFactory" />

              <property name="jndiTemplate" ref="webLogicJndiTemplate" />

          </bean>

       

          <bean id="jmsDestinationResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver" >

              <property name="jndiTemplate">

                  <ref bean="webLogicJndiTemplate"/>

              </property>

          </bean>

       

          <bean id="webLogicJndiTemplate" class="org.springframework.jndi.JndiTemplate" >

               <property name="environment">

                  <props>

                      <prop key="java.naming.factory.initial"> weblogic.jndi.WLInitialContextFactory</prop>

                      <prop key="java.naming.provider.url"> t3://host-id:port</prop>

                  </props>

              </property>

          </bean>

       

       

       

      3) The error message is:

       

      <loc-message>Could not find service 'AbwsQJmsSoapConsumerSvc' in wsdl</loc-message>

      <stack-trace><![CDATA[javax.jbi.management.DeploymentException: Could not find service 'AbwsQJmsSoapConsumerSvc' in wsdl

      at org.apache.servicemix.jms.endpoints.JmsSoapConsumerEndpoint.validateWsdl1(JmsSoapConsumerEndpoint.java:205)

      at org.apache.servicemix.jms.endpoints.JmsSoapConsumerEndpoint.validate(JmsSoapConsumerEndpoint.java:138)

      at org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)

      at org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)

      at org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:96)

      at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)

      at org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)

      at org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:520)

      at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:35

      4)

      at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:257)

      at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive(AutoDeploymentService.java:20

      5)

      at org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:494)

      at org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:504)

      at org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:209)

       

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)

      at org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:323)

      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)

      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)

      at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426)

      at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)

      at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)

      at java.security.AccessController.doPrivileged(Native Method)

      at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366)

      at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)

      at sun.rmi.transport.Transport$1.run(Transport.java:159)

      at java.security.AccessController.doPrivileged(Native Method)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

      at java.lang.Thread.run(Thread.java:619)

      ]]></stack-trace>

       

      Thanks a lot

      V.