1 Reply Latest reply on Jun 15, 2007 6:00 PM by meghanai_99

    bpel-application.xml -> wrapperwsdl imports external wsdl. F

      Hi All,

      Here is my bpel-application.xml.

      <?xml version="1.0" encoding="UTF-8"?>
      <bpelApplication name="QuotesFlow" xmlns="http://jbpm.org/bpel" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jbpm.org/bpel
       http://jbpm.org/bpel/bpel_application_1_0.xsd">
       <serviceCatalogs>
       <!-- listing of locally published WSDL documents -->
       <urlCatalog>
       <wsdl location="../wsdl/StockQuotePLWrapper.wsdl" />
       </urlCatalog>
       </serviceCatalogs>
      </bpelApplication>


      The StockQuotePLWrapper.wsdl imports actual wsdl which contains service and ports declaration. The wrapper file looks like this -
      <wsdl:definitions name="StockQuoteplt" targetNamespace="http://www.webserviceX.NET/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.webserviceX.NET/">
       <wsdl:import namespace="http://www.webserviceX.NET/" location="resources/xml/StockQuote.wsdl" />
       <plnk:partnerLinkType name="StockQuotePartnerLinkType">
       <plnk:role name="StockQuoteProvider">
       <plnk:portType name="tns:StockQuoteSoap" />
       </plnk:role>
       </plnk:partnerLinkType>
      </wsdl:definitions>
      


      However I get following exception when I call the BPEL process -

      Caused by: java.lang.RuntimeException: no port implements the required port type: portType={http://www.webserviceX.NET/}
      StockQuoteSoap
       at org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:150)
       at org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:101)
       at org.jbpm.bpel.integration.jms.IntegrationControl.createPartnerClient(IntegrationControl.java:229)
       at org.jbpm.bpel.integration.jms.IntegrationControl.getPartnerClient(IntegrationControl.java:208)
       at org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:256)
       at org.jbpm.bpel.integration.def.InvokeAction.execute(InvokeAction.java:93)
       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:585)
       at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
       at org.jbpm.graph.def.Action_$$_javassist_144.execute(Action_$$_javassist_144.java)
       at org.jbpm.graph.def.Node.execute(Node.java:338)


      When I replace line in bpel-application to import StockQuote.wsdl directly and place that wsdl file under 'WEB-INF/wsdl' folder the call goes through successfully.

      Btw, I am using JBoss 4.0.5GA, JBossWS 1.2.1GA and JBPM built locally from cvs. Please let me know what I can do to fix this problem. I would like to keep it the original way with wrapper file.

      The webservice I am using in this sample is freely available at http://www.webservicex.net/stockquote.asmx

      Thank you,
      Meghana