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:...:
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-p...
|
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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...