[jboss-user] [JBoss jBPM] - BPEL generate-artifacts error

frostp do-not-reply at jboss.com
Tue Feb 27 13:09:51 EST 2007


Hi,

I am trying to simply make an external web service invocation from a BPEL script.  I am basing the project on the HelloWorld example.

JbossAS-4.0.4.GA
JBPM-bpel-1.1.Beta3
jdk1.5.0_11

OK so i can successfully run:
ant deploy-definition
  | ant generate-service
But when it comes to ant generate-artifacts I get the following output:
D:\development\jbpm-bpel-1.1.Beta3\examples\listadmin>ant generate-artifacts
  | Buildfile: build.xml
  | 
  | detect-wsgenerator:
  | 
  | generate-artifacts:
  | 
  | setup-wstools:
  | 
  | call-wstools:
  |   [wstools] 17:15:39,957 ERROR JBossXSErrorHandler : JBossWS_com_ericsson_listadmindbservice_webservices25724.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve.4.2]::Message=src-resolve.4.2: Error resolving component 'java:ServiceListRef'. It was detected that'java:ServiceListRef' is in namespace 'java:com.ericsson.listManagement.models', but components from this namespace are not referenceable from schema document 'file:/C:/DOCUME~1/frostp/LOCALS~1/Temp/JBossWS_com_ericsson_listadmindbservice_webservices25724.xsd'. If this is the incorrect namespace, perhaps the prefix of 'java:ServiceListRef' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:/C:/DOCUME~1/frostp/LOCALS~1/Temp/JBossWS_com_ericsson_listadmindbservice_webservices25724.xsd'.
  |   [move] Moving 1 file to D:\development\jbpm-bpel-1.1.Beta3\examples\listadmin\target\resources\web
  | 
  | setup-wscompile:
  | 
  | BUILD SUCCESSFUL
  | Total time: 2 seconds
  | D:\development\jbpm-bpel-1.1.Beta3\examples\listadmin>


I'm pretty sure the namespace for the complex "ServiceListRef"type is correct (well, I did create that webs ervice so it could be wrong)
How can I place an import into a temporary file?

I know that Ant says it has completed the task but when I run 

ant deploy the javac compiler can not see the auto generated Greeter.class and moans, so it can not have worked.


My config looks thus:

bpel-applications.xml
<?xml version="1.0" encoding="UTF-8"?>
  | <bpelApplication name="ListAdmin" xmlns="http://jbpm.org/bpel"
  |   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |   xsi:schemaLocation="http://jbpm.org/bpel
  |       http://jbpm.org/bpel/bpel_application_1_0.xsd" >
  | 
  |   <!-- START frostp; added for external web service -->
  |   <serviceCatalogs>
  |     <!-- listing of locally published WSDL documents -->
  |     <urlCatalog contextUrl="http://localhost:8080/">
  | 
  |       <!-- published WSDL document of ticket issuer -->
  |       <wsdl location="ListAdminDBService/ListAdminDBServiceService?wsdl" />
  |     </urlCatalog>
  |   </serviceCatalogs>
  |   <!-- END frostp; added for external web service -->
  | 
  | </bpelApplication>


bpel-definition.xml looks like:
<?xml version="1.0" encoding="UTF-8"?>
  | <bpelDefinition location="listadmin.bpel" xmlns="http://jbpm.org/bpel"
  |   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |   xsi:schemaLocation="http://jbpm.org/bpel
  |       http://jbpm.org/bpel/bpel_definition_1_0.xsd">
  | 
  |   <!-- makes WSDL interface elements available to the process -->
  |   <imports>
  |     <wsdl location="listadmin.wsdl" />
  |     <wsdl location="interfaces/ListAdminDBServiceService.wsdl" />
  |   </imports>
  | 
  | </bpelDefinition>

listadmin.wsdl looks like:
<?xml version="1.0" encoding="UTF-8"?>
  | <definitions targetNamespace="urn:samples:listadmin"
  |   xmlns="http://schemas.xmlsoap.org/wsdl/"
  |   xmlns:tns="urn:samples:listadmin" 
  |   xmlns:s0="http://com/ericsson/listadmindbservice/webservices"
  |   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  |   xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
  |   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  | 
  | 
  |   <!-- Need to import the external file in order that we can see the definition of the external service -->
  |   <import namespace="http://com/ericsson/listadmindbservice/webservices" location="interfaces/ListAdminDBServiceService.wsdl" />
  | 
  |   <!-- START frostp describes the rel. between us and the DB access service  -->
  |   <plt:partnerLinkType name="dbAccessPLT">
  |     <plt:role name="ListAdminDBService">
  |       <plt:portType name="s0:ListAdminDBService" />
  |     </plt:role>
  |   </plt:partnerLinkType>
  |   <!-- END frostp -->
  | 
  |   <!-- characterizes the relationship between the greeter and its caller -->
  |   <plt:partnerLinkType name="Greeter-Caller">
  |     <plt:role name="Greeter">
  |       <plt:portType name="tns:Greeter" />
  |     </plt:role>
  |     <!-- the Caller does not provide services to the Greeter,
  |       this is why we omit the "Caller" role -->
  |   </plt:partnerLinkType>
  | 
  | 
  | 
  |   <!-- carries the name of a person -->
  |   <message name="nameMessage">
  |     <part name="name" type="xsd:string" />
  |   </message>
  | 
  |   <!-- carries the greeting -->
  |   <message name="greetingMessage">
  |     <part name="greeting" type="xsd:string" />
  |   </message>
  | 
  |   <!-- describes the interface presented to callers -->
  |   <portType name="Greeter">
  |     <operation name="sayHello">
  |       <input message="tns:nameMessage" />
  |       <output message="tns:greetingMessage" />
  |     </operation>
  |   </portType>
  | 
  | </definitions>



and finally, listadmin.bpel looks like:
<?xml version="1.0" encoding="UTF-8"?>
  | <process name="ListAdmin" targetNamespace="urn:samples:listadmin"
  |   xmlns:s0="http://com/ericsson/listadmindbservice/webservices"
  |   xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
  |   xmlns:tns="urn:samples:listadmin" 
  |   xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
  |   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |   xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/
  |   http://schemas.xmlsoap.org/ws/2003/03/business-process/">
  |       <!-- xmlns:tns="http://jbpm.org/examples/listadmin" -->
  | 
  |   <partnerLinks>
  |     <!-- START frostp -->
  |     <partnerLink name="dbAccessPL" partnerLinkType="tns:dbAccessPLT" partnerRole="ListAdminDBService" />
  |     <!-- END frostp -->
  | 
  |     <!-- establishes the relationship with the caller agent -->
  |     <partnerLink name="caller" partnerLinkType="tns:Greeter-Caller"
  |       myRole="Greeter" />
  |   </partnerLinks>
  | 
  |   <variables>
  |     <!-- holds the incoming message -->
  |     <variable name="request" messageType="tns:nameMessage" />
  |     <!-- holds the outgoing message -->
  |     <variable name="response" messageType="tns:greetingMessage" />
  | 
  |     <!-- START frostp; Variables for DB access routines -->
  |     <variable name="dbRequest" messageType="s0:getServiceList" />
  |     <variable name="dbResponse" messageType="s0:getServiceListResponse" />
  |     <!-- START frostp; Variables for DB access routines -->
  |   </variables>
  | 
  |   <sequence>
  | 
  |     <!-- receive the name of a person -->
  |     <receive operation="sayHello" partnerLink="caller" portType="tns:Greeter"
  |       variable="request" createInstance="yes" />
  | 
  |     <!-- compose a greeting phrase -->
  |     <assign>
  |       <copy>
  |         <from expression="concat('Hello, ', 
  |             bpel:getVariableData('request', 'name'), '!')" />
  |         <to variable="response" part="greeting" />
  |       </copy>
  |     </assign>
  | 
  |     <!-- START frostp; Call DB service -->
  |     <invoke operation="getServiceList" partnerLink="dbAccessPL"
  |       portType="s0:ListAdminDBService" inputVariable="dbRequest"
  |       outputVariable="dbResponse">
  |     </invoke>
  |     <!-- END frostp  -->
  | 
  | 
  | 
  |     <!-- reply with the greeting -->
  |     <reply operation="sayHello" partnerLink="caller" portType="tns:Greeter"
  |       variable="response" />
  | 
  |   </sequence>
  |   </process>
  | 



Oh yes, it might help to see the external WSDL file I've imported:


  | <?xml version='1.0' encoding='UTF-8'?>
  | <definitions name="ListAdminDBServiceServiceDefinitions" targetNamespace="http://com/ericsson/listadmindbservice/webservices" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s0="http://com/ericsson/listadmindbservice/webservices" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/">
  |   <types>
  |     <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://com/ericsson/listadmindbservice/webservices" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  |       <xs:element name="updateListEntry">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="slr" type="java:ServiceListRef" xmlns:java="java:com.ericsson.listManagement.models"/>
  |             <xs:element name="contact" type="java:Contact" xmlns:java="java:com.ericsson.listManagement.models"/>
  |             <xs:element name="newContact" type="java:Contact" xmlns:java="java:com.ericsson.listManagement.models"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="updateListEntryResponse">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="return" type="xs:boolean"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="deleteServiceList">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="slr" type="java:ServiceListRef" xmlns:java="java:com.ericsson.listManagement.models"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="deleteServiceListResponse">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="return" type="xs:boolean"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="addListEntry">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="slr" type="java:ServiceListRef" xmlns:java="java:com.ericsson.listManagement.models"/>
  |             <xs:element name="contact" type="java:Contact" xmlns:java="java:com.ericsson.listManagement.models"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="addListEntryResponse">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="return" type="xs:boolean"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="getListEntry">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="slr" type="java:ServiceListRef" xmlns:java="java:com.ericsson.listManagement.models"/>
  |             <xs:element name="userURI" type="xs:string"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="getListEntryResponse">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="return" type="java:Contact" xmlns:java="java:com.ericsson.listManagement.models"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="deleteListEntry">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="slr" type="java:ServiceListRef" xmlns:java="java:com.ericsson.listManagement.models"/>
  |             <xs:element name="userURI" type="xs:string"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="deleteListEntryResponse">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="return" type="xs:boolean"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="getServiceList">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="slr" type="java:ServiceListRef" xmlns:java="java:com.ericsson.listManagement.models"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |       <xs:element name="getServiceListResponse">
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="return" type="java:ArrayOfContact_literal" xmlns:java="java:com.ericsson.listManagement.models"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |     </xs:schema>
  |     <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="java:com.ericsson.listManagement.models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  |       <xs:complexType name="Contact">
  |         <xs:sequence>
  |           <xs:element minOccurs="1" name="Priority" nillable="false" type="xs:int"/>
  |           <xs:element minOccurs="1" name="User" nillable="true" type="xs:string"/>
  |           <xs:element minOccurs="1" name="UserURI" nillable="true" type="xs:string"/>
  |         </xs:sequence>
  |       </xs:complexType>
  |       <xs:complexType name="ServiceListRef">
  |         <xs:sequence>
  |           <xs:element minOccurs="1" name="Service" nillable="true" type="xs:string"/>
  |           <xs:element minOccurs="1" name="Subscriber" nillable="true" type="xs:string"/>
  |         </xs:sequence>
  |       </xs:complexType>
  |       <xs:complexType name="ArrayOfContact_literal">
  |         <xs:sequence>
  |           <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" nillable="true" type="java:Contact" xmlns:java="java:com.ericsson.listManagement.models"/>
  |         </xs:sequence>
  |       </xs:complexType>
  |       <xs:element name="ArrayOfContact_literal" type="java:ArrayOfContact_literal" xmlns:java="java:com.ericsson.listManagement.models"/>
  |     </xs:schema>
  |   </types>
  |   <message name="updateListEntry">
  |     <part element="s0:updateListEntry" name="parameters"/>
  |   </message>
  |   <message name="updateListEntryResponse">
  |     <part element="s0:updateListEntryResponse" name="parameters"/>
  |   </message>
  |   <message name="deleteServiceList">
  |     <part element="s0:deleteServiceList" name="parameters"/>
  |   </message>
  |   <message name="deleteServiceListResponse">
  |     <part element="s0:deleteServiceListResponse" name="parameters"/>
  |   </message>
  |   <message name="addListEntry">
  |     <part element="s0:addListEntry" name="parameters"/>
  |   </message>
  |   <message name="addListEntryResponse">
  |     <part element="s0:addListEntryResponse" name="parameters"/>
  |   </message>
  |   <message name="getListEntry">
  |     <part element="s0:getListEntry" name="parameters"/>
  |   </message>
  |   <message name="getListEntryResponse">
  |     <part element="s0:getListEntryResponse" name="parameters"/>
  |   </message>
  |   <message name="deleteListEntry">
  |     <part element="s0:deleteListEntry" name="parameters"/>
  |   </message>
  |   <message name="deleteListEntryResponse">
  |     <part element="s0:deleteListEntryResponse" name="parameters"/>
  |   </message>
  |   <message name="getServiceList">
  |     <part element="s0:getServiceList" name="parameters"/>
  |   </message>
  |   <message name="getServiceListResponse">
  |     <part element="s0:getServiceListResponse" name="parameters"/>
  |   </message>
  |   <portType name="ListAdminDBService">
  |     <operation name="updateListEntry" parameterOrder="parameters">
  |       <input message="s0:updateListEntry"/>
  |       <output message="s0:updateListEntryResponse"/>
  |     </operation>
  |     <operation name="deleteServiceList" parameterOrder="parameters">
  |       <input message="s0:deleteServiceList"/>
  |       <output message="s0:deleteServiceListResponse"/>
  |     </operation>
  |     <operation name="addListEntry" parameterOrder="parameters">
  |       <input message="s0:addListEntry"/>
  |       <output message="s0:addListEntryResponse"/>
  |     </operation>
  |     <operation name="getListEntry" parameterOrder="parameters">
  |       <input message="s0:getListEntry"/>
  |       <output message="s0:getListEntryResponse"/>
  |     </operation>
  |     <operation name="deleteListEntry" parameterOrder="parameters">
  |       <input message="s0:deleteListEntry"/>
  |       <output message="s0:deleteListEntryResponse"/>
  |     </operation>
  |     <operation name="getServiceList" parameterOrder="parameters">
  |       <input message="s0:getServiceList"/>
  |       <output message="s0:getServiceListResponse"/>
  |     </operation>
  |   </portType>
  |   <binding name="ListAdminDBServiceServiceSoapBinding" type="s0:ListAdminDBService">
  |     <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  |     <operation name="updateListEntry">
  |       <s1:operation soapAction="" style="document"/>
  |       <input>
  |         <s1:body parts="parameters" use="literal"/>
  |       </input>
  |       <output>
  |         <s1:body parts="parameters" use="literal"/>
  |       </output>
  |     </operation>
  |     <operation name="deleteServiceList">
  |       <s1:operation soapAction="" style="document"/>
  |       <input>
  |         <s1:body parts="parameters" use="literal"/>
  |       </input>
  |       <output>
  |         <s1:body parts="parameters" use="literal"/>
  |       </output>
  |     </operation>
  |     <operation name="addListEntry">
  |       <s1:operation soapAction="" style="document"/>
  |       <input>
  |         <s1:body parts="parameters" use="literal"/>
  |       </input>
  |       <output>
  |         <s1:body parts="parameters" use="literal"/>
  |       </output>
  |     </operation>
  |     <operation name="getListEntry">
  |       <s1:operation soapAction="" style="document"/>
  |       <input>
  |         <s1:body parts="parameters" use="literal"/>
  |       </input>
  |       <output>
  |         <s1:body parts="parameters" use="literal"/>
  |       </output>
  |     </operation>
  |     <operation name="deleteListEntry">
  |       <s1:operation soapAction="" style="document"/>
  |       <input>
  |         <s1:body parts="parameters" use="literal"/>
  |       </input>
  |       <output>
  |         <s1:body parts="parameters" use="literal"/>
  |       </output>
  |     </operation>
  |     <operation name="getServiceList">
  |       <s1:operation soapAction="" style="document"/>
  |       <input>
  |         <s1:body parts="parameters" use="literal"/>
  |       </input>
  |       <output>
  |         <s1:body parts="parameters" use="literal"/>
  |       </output>
  |     </operation>
  |   </binding>
  |   <service name="ListAdminDBServiceService">
  |     <port binding="s0:ListAdminDBServiceServiceSoapBinding" name="ListAdminDBServiceSoapPort">
  |       <s1:address location="http://localhost:7001/ListAdminDBService/ListAdminDBService"/>
  |     </port>
  |   </service>
  | </definitions>

Any clues anybody?



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4023207#4023207

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4023207



More information about the jboss-user mailing list