You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by monika7 <mo...@maco-tech.com> on 2008/12/22 19:28:56 UTC

need help with http consumer endpoint for BPEL wsdl with external schema

I am trying to expose my ODE BPEL process via http consumer endpoint, using
the examples that come with ode-jbi installation (HelloWorld2, PingPong),
but the servicemix (version 3.3) is unable to parse my BPEL wsdl and resolve
schema location.
The ode-jbi examples use simple wsdl with schema definition declared inside
the wsdl and the entire servicemix-http configuration is done via
<smix:endpoint role="consumer" defaultMep="in-out"/>

My wsdl file depends on external schema with relative physical location:
PlanProcess.wsdl
schema/plan-process/PlanProcess.xsd

The wsdl:import statement (tried xsd:import and got the same results) in
PlanProcess.wsdl is:
<wsdl:import location="schema/plan-process/PlanProcess.xsd"
namespace="http://resourceBroker.ll.mit.edu/planProcess"/>

When I build and deploy this SU to servicemix, I get an error message:

<loc-message>Could not parse
/Users/monika/java/apache-servicemix-3.3/data/smx/service-assemblies/planProcess-sa/version_1/sus/servicemix-http/planProcess-http-su/PlanProcess.wsdl</loc-message>
</msg-loc-info>
</task-status-msg>
			<exception-info>
				<nesting-level>1</nesting-level>
				<msg-loc-info>
					<loc-token/>
					<loc-message>WSDLException (at /wsdl:definitions/wsdl:import):
faultCode=OTHER_ERROR: Unable to resolve imported document at
'schema/plan-process/PlanProcess.xsd'.: java.io.FileNotFoundException: This
file was not found:
file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd</loc-message>
...

As you can see, servicemix expects physical location of the deployed schema
directory to be relative to $SERVICE_MIX home and not PlanProcess.wsdl

Does anybody have a working example similar to my setup or suggestions how
to resolve the problem? I am considering configuring this SU using examples
shown in: http://servicemix.apache.org/servicemix-http-new-endpoints.html,
but I am new to servicemix, so any help would be appreciated.

While we are on the topic of http endpoints, the BPEL process talks to an
external web service, which won't be deployed on servicemix. Does that mean
I have to configure an http provider endpoint or will ODE call the service
directly (via URL provided in external service wsdl file)?

Thanks,
Monika




-- 
View this message in context: http://www.nabble.com/need-help-with-http-consumer-endpoint-for-BPEL-wsdl-with-external-schema-tp21132600p21132600.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: need help with http consumer endpoint for BPEL wsdl with external schema

Posted by Gert Vanthienen <ge...@skynet.be>.
Monika,

I don't have a lot of experience with the ODE JBI component, but it looks
like the servicemix-http component is unable to determine the correct
operation name automatically -- to resolve this, you can specify a
defaultOperation attribute on the HTTP consumer endpoint.

Regards,

Gert



monika7 wrote:
> 
> Thanks. Using xbean.xml resolved deployment issue. However now I run into
> the next problem when ODE SU receives the message from the HTTP SU:
> 
> ERROR - Receiver                       - Error processing JBI message.
> java.lang.IllegalArgumentException: Null operation in JBI message exchange
> id=ID:155.34.65.106-11e606a3752-20:3
> endpoint={http://resourceBroker.ll.mit.edu/planProcess}PlanProcessService:PlanProcessPort
> 	at
> org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:120)
> 	at
> org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:67)
> 	at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
> 	at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	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:613)
> 
> Monika
> 
> 
> 
> Jean-Baptiste Onofré wrote:
>> 
>> You can try to use a Spring resource (like
>> classpath:**/*/PlanProcess.xsd) in the xbean.xml
>> to avoid the lookup in
>> file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd
>> 
>> Regards
>> JB
>> 
>> On Monday 22 December 2008 - 10:28, monika7 wrote:
>>> 
>>> I am trying to expose my ODE BPEL process via http consumer endpoint,
>>> using
>>> the examples that come with ode-jbi installation (HelloWorld2,
>>> PingPong),
>>> but the servicemix (version 3.3) is unable to parse my BPEL wsdl and
>>> resolve
>>> schema location.
>>> The ode-jbi examples use simple wsdl with schema definition declared
>>> inside
>>> the wsdl and the entire servicemix-http configuration is done via
>>> <smix:endpoint role="consumer" defaultMep="in-out"/>
>>> 
>>> My wsdl file depends on external schema with relative physical location:
>>> PlanProcess.wsdl
>>> schema/plan-process/PlanProcess.xsd
>>> 
>>> The wsdl:import statement (tried xsd:import and got the same results) in
>>> PlanProcess.wsdl is:
>>> <wsdl:import location="schema/plan-process/PlanProcess.xsd"
>>> namespace="http://resourceBroker.ll.mit.edu/planProcess"/>
>>> 
>>> When I build and deploy this SU to servicemix, I get an error message:
>>> 
>>> <loc-message>Could not parse
>>> /Users/monika/java/apache-servicemix-3.3/data/smx/service-assemblies/planProcess-sa/version_1/sus/servicemix-http/planProcess-http-su/PlanProcess.wsdl</loc-message>
>>> </msg-loc-info>
>>> </task-status-msg>
>>> 			<exception-info>
>>> 				<nesting-level>1</nesting-level>
>>> 				<msg-loc-info>
>>> 					<loc-token/>
>>> 					<loc-message>WSDLException (at /wsdl:definitions/wsdl:import):
>>> faultCode=OTHER_ERROR: Unable to resolve imported document at
>>> 'schema/plan-process/PlanProcess.xsd'.: java.io.FileNotFoundException:
>>> This
>>> file was not found:
>>> file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd</loc-message>
>>> ...
>>> 
>>> As you can see, servicemix expects physical location of the deployed
>>> schema
>>> directory to be relative to $SERVICE_MIX home and not PlanProcess.wsdl
>>> 
>>> Does anybody have a working example similar to my setup or suggestions
>>> how
>>> to resolve the problem? I am considering configuring this SU using
>>> examples
>>> shown in:
>>> http://servicemix.apache.org/servicemix-http-new-endpoints.html,
>>> but I am new to servicemix, so any help would be appreciated.
>>> 
>>> While we are on the topic of http endpoints, the BPEL process talks to
>>> an
>>> external web service, which won't be deployed on servicemix. Does that
>>> mean
>>> I have to configure an http provider endpoint or will ODE call the
>>> service
>>> directly (via URL provided in external service wsdl file)?
>>> 
>>> Thanks,
>>> Monika
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/need-help-with-http-consumer-endpoint-for-BPEL-wsdl-with-external-schema-tp21132600p21132600.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>> 
>> 
>> -- 
>> Jean-Baptiste Onofré (Nanthrax)
>> BuildProcess/AutoDeploy Project Leader
>> http://buildprocess.sourceforge.net
>> jb@nanthrax.net
>> PGP : 17D4F086
>> 
>> 
> 
> 


-----
---
Gert Vanthienen
http://gertvanthienen.blogspot.com
-- 
View this message in context: http://www.nabble.com/need-help-with-http-consumer-endpoint-for-BPEL-wsdl-with-external-schema-tp21132600p21140423.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: need help with http consumer endpoint for BPEL wsdl with external schema

Posted by monika7 <mo...@maco-tech.com>.
Thanks. Using xbean.xml resolved deployment issue. However now I run into the
next problem when ODE SU receives the message from the HTTP SU:

ERROR - Receiver                       - Error processing JBI message.
java.lang.IllegalArgumentException: Null operation in JBI message exchange
id=ID:155.34.65.106-11e606a3752-20:3
endpoint={http://resourceBroker.ll.mit.edu/planProcess}PlanProcessService:PlanProcessPort
	at org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:120)
	at
org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:67)
	at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
	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:613)

Monika



Jean-Baptiste Onofré wrote:
> 
> You can try to use a Spring resource (like classpath:**/*/PlanProcess.xsd)
> in the xbean.xml
> to avoid the lookup in
> file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd
> 
> Regards
> JB
> 
> On Monday 22 December 2008 - 10:28, monika7 wrote:
>> 
>> I am trying to expose my ODE BPEL process via http consumer endpoint,
>> using
>> the examples that come with ode-jbi installation (HelloWorld2, PingPong),
>> but the servicemix (version 3.3) is unable to parse my BPEL wsdl and
>> resolve
>> schema location.
>> The ode-jbi examples use simple wsdl with schema definition declared
>> inside
>> the wsdl and the entire servicemix-http configuration is done via
>> <smix:endpoint role="consumer" defaultMep="in-out"/>
>> 
>> My wsdl file depends on external schema with relative physical location:
>> PlanProcess.wsdl
>> schema/plan-process/PlanProcess.xsd
>> 
>> The wsdl:import statement (tried xsd:import and got the same results) in
>> PlanProcess.wsdl is:
>> <wsdl:import location="schema/plan-process/PlanProcess.xsd"
>> namespace="http://resourceBroker.ll.mit.edu/planProcess"/>
>> 
>> When I build and deploy this SU to servicemix, I get an error message:
>> 
>> <loc-message>Could not parse
>> /Users/monika/java/apache-servicemix-3.3/data/smx/service-assemblies/planProcess-sa/version_1/sus/servicemix-http/planProcess-http-su/PlanProcess.wsdl</loc-message>
>> </msg-loc-info>
>> </task-status-msg>
>> 			<exception-info>
>> 				<nesting-level>1</nesting-level>
>> 				<msg-loc-info>
>> 					<loc-token/>
>> 					<loc-message>WSDLException (at /wsdl:definitions/wsdl:import):
>> faultCode=OTHER_ERROR: Unable to resolve imported document at
>> 'schema/plan-process/PlanProcess.xsd'.: java.io.FileNotFoundException:
>> This
>> file was not found:
>> file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd</loc-message>
>> ...
>> 
>> As you can see, servicemix expects physical location of the deployed
>> schema
>> directory to be relative to $SERVICE_MIX home and not PlanProcess.wsdl
>> 
>> Does anybody have a working example similar to my setup or suggestions
>> how
>> to resolve the problem? I am considering configuring this SU using
>> examples
>> shown in:
>> http://servicemix.apache.org/servicemix-http-new-endpoints.html,
>> but I am new to servicemix, so any help would be appreciated.
>> 
>> While we are on the topic of http endpoints, the BPEL process talks to an
>> external web service, which won't be deployed on servicemix. Does that
>> mean
>> I have to configure an http provider endpoint or will ODE call the
>> service
>> directly (via URL provided in external service wsdl file)?
>> 
>> Thanks,
>> Monika
>> 
>> 
>> 
>> 
>> -- 
>> View this message in context:
>> http://www.nabble.com/need-help-with-http-consumer-endpoint-for-BPEL-wsdl-with-external-schema-tp21132600p21132600.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> 
> 
> -- 
> Jean-Baptiste Onofré (Nanthrax)
> BuildProcess/AutoDeploy Project Leader
> http://buildprocess.sourceforge.net
> jb@nanthrax.net
> PGP : 17D4F086
> 
> 

-- 
View this message in context: http://www.nabble.com/need-help-with-http-consumer-endpoint-for-BPEL-wsdl-with-external-schema-tp21132600p21134943.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: need help with http consumer endpoint for BPEL wsdl with external schema

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
You can try to use a Spring resource (like classpath:**/*/PlanProcess.xsd) in the xbean.xml
to avoid the lookup in file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd

Regards
JB

On Monday 22 December 2008 - 10:28, monika7 wrote:
> 
> I am trying to expose my ODE BPEL process via http consumer endpoint, using
> the examples that come with ode-jbi installation (HelloWorld2, PingPong),
> but the servicemix (version 3.3) is unable to parse my BPEL wsdl and resolve
> schema location.
> The ode-jbi examples use simple wsdl with schema definition declared inside
> the wsdl and the entire servicemix-http configuration is done via
> <smix:endpoint role="consumer" defaultMep="in-out"/>
> 
> My wsdl file depends on external schema with relative physical location:
> PlanProcess.wsdl
> schema/plan-process/PlanProcess.xsd
> 
> The wsdl:import statement (tried xsd:import and got the same results) in
> PlanProcess.wsdl is:
> <wsdl:import location="schema/plan-process/PlanProcess.xsd"
> namespace="http://resourceBroker.ll.mit.edu/planProcess"/>
> 
> When I build and deploy this SU to servicemix, I get an error message:
> 
> <loc-message>Could not parse
> /Users/monika/java/apache-servicemix-3.3/data/smx/service-assemblies/planProcess-sa/version_1/sus/servicemix-http/planProcess-http-su/PlanProcess.wsdl</loc-message>
> </msg-loc-info>
> </task-status-msg>
> 			<exception-info>
> 				<nesting-level>1</nesting-level>
> 				<msg-loc-info>
> 					<loc-token/>
> 					<loc-message>WSDLException (at /wsdl:definitions/wsdl:import):
> faultCode=OTHER_ERROR: Unable to resolve imported document at
> 'schema/plan-process/PlanProcess.xsd'.: java.io.FileNotFoundException: This
> file was not found:
> file:/Users/monika/java/apache-servicemix-3.3/schema/plan-process/PlanProcess.xsd</loc-message>
> ...
> 
> As you can see, servicemix expects physical location of the deployed schema
> directory to be relative to $SERVICE_MIX home and not PlanProcess.wsdl
> 
> Does anybody have a working example similar to my setup or suggestions how
> to resolve the problem? I am considering configuring this SU using examples
> shown in: http://servicemix.apache.org/servicemix-http-new-endpoints.html,
> but I am new to servicemix, so any help would be appreciated.
> 
> While we are on the topic of http endpoints, the BPEL process talks to an
> external web service, which won't be deployed on servicemix. Does that mean
> I have to configure an http provider endpoint or will ODE call the service
> directly (via URL provided in external service wsdl file)?
> 
> Thanks,
> Monika
> 
> 
> 
> 
> -- 
> View this message in context: http://www.nabble.com/need-help-with-http-consumer-endpoint-for-BPEL-wsdl-with-external-schema-tp21132600p21132600.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
> 

-- 
Jean-Baptiste Onofré (Nanthrax)
BuildProcess/AutoDeploy Project Leader
http://buildprocess.sourceforge.net
jb@nanthrax.net
PGP : 17D4F086