Hi
little question, i don't have experiences in port and service, but i found a
thing (probably i'm on fault) anyway.

the question is: each service can be attached at only one portType? can a
service has 2 ports that is used for 2 different portType?

if the answer is yes at first and no at second the rest is unuseful, i'm in
fault!
otherwise there's a problem

if i specisfy my wsdl like this:

<wsdl:service name="MyService">
        <wsdl:port name="PortInvoke1"
binding="tns:PortTypeInvokeBindingSOAP">
            <soap:address
                location="
http://localhost:8080/RestServices/services/provaApps/test.jsp"; />
        </wsdl:port>
    </wsdl:service>

    <wsdl:service name="MyService2">
        <wsdl:port name="PortReceive1"
binding="tns:PortTypeReceiveBindingSOAP">
            <soap:address
                location="
http://localhost:8080/ode/processes/provaApps/searchPos"; />
        </wsdl:port>
    </wsdl:service>

and deploy like this

<?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"; xmlns:sample="
http://eclipse.org/bpel/sample"; xmlns:searchPos="
http://www.example.org/searchPos/";>
  <process name="sample:Istanze">
    <active>true</active>
    <process-events generate="all"/>
    <provide partnerLink="SearchPos">
      <service name="searchPos:MyService2" port="PortReceive1"/>
    </provide>
    <invoke partnerLink="SearchPos">
      <service name="searchPos:MyService" port="PortInvoke1"/>
    </invoke>
  </process>
</deploy>


all goes ok.

if i create only ONE sevice like this with 2 ports:

<wsdl:service name="MyService">
        <wsdl:port name="PortInvoke1"
binding="tns:PortTypeInvokeBindingSOAP">
            <soap:address
                location="
http://localhost:8080/RestServices/services/provaApps/test.jsp"; />
        </wsdl:port>
        <wsdl:port name="PortReceive1"
binding="tns:PortTypeReceiveBindingSOAP">
            <soap:address
                location="
http://localhost:8080/ode/processes/provaApps/searchPos"; />
        </wsdl:port>
    </wsdl:service>

and deploy like this:
 <?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"; xmlns:sample="
http://eclipse.org/bpel/sample"; xmlns:searchPos="
http://www.example.org/searchPos/";>
  <process name="sample:Istanze">
    <active>true</active>
    <process-events generate="all"/>
    <provide partnerLink="SearchPos">
      <service name="searchPos:MyService" port="PortReceive1"/>
    </provide>
    <invoke partnerLink="SearchPos">
      <service name="searchPos:MyService" port="PortInvoke1"/>
    </invoke>
  </process>
</deploy>

when i call the bpel i receive an exception by ode:


DEBUG - GeronimoLog.debug(66) | Process store event:
{ProcessStoreEvent#DEPLOYED:{http://eclipse.org/bpel/sample}Istanze-8}
DEBUG - GeronimoLog.debug(66) | Ignoring store event:
{ProcessStoreEvent#DEPLOYED:{http://eclipse.org/bpel/sample}Istanze-8}
DEBUG - GeronimoLog.debug(66) | Process store event:
{ProcessStoreEvent#ACTVIATED:{http://eclipse.org/bpel/sample}Istanze-8}
DEBUG - GeronimoLog.debug(66) | register: {
http://eclipse.org/bpel/sample}Istanze-8
DEBUG - GeronimoLog.debug(66) | Registering process {
http://eclipse.org/bpel/sample}Istanze-8 with server.
DEBUG - GeronimoLog.debug(66) | Register process: serviceId={
http://www.example.org/searchPos/}MyService:PortReceive1,
process=BpelProcess[{http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | Activating {
http://eclipse.org/bpel/sample}Istanze-8
DEBUG - GeronimoLog.debug(66) | Destroying service {
http://www.example.org/searchPos/}MyService port PortReceive1
DEBUG - GeronimoLog.debug(66) | Couldn't find service {
http://www.example.org/searchPos/}MyService port PortReceive1 to destroy.
DEBUG - GeronimoLog.debug(66) | Create AxisService: service={
http://www.example.org/searchPos/}MyService port=PortReceive1
WSDL=searchPos2.wsdl BPEL=Istanze.bpel
DEBUG - GeronimoLog.debug(66) | Looking for Axis2 service configuration
file:
file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BPELTOFIXALL/MyService.axis2
DEBUG - GeronimoLog.debug(66) | Axis2 service configuration not found:
file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BPELTOFIXALL/MyService.axis2
DEBUG - GeronimoLog.debug(66) | Created Axis2 service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Activated {
http://eclipse.org/bpel/sample}Istanze-8 myrole SearchPos: EPR is
org.apache.ode.bpel.epr.wsaendpo...@1f44f8a
DEBUG - GeronimoLog.debug(66) | Destroying service {
http://www.example.org/searchPos/}MyService port PortReceive1
DEBUG - GeronimoLog.debug(66) | Create AxisService: service={
http://www.example.org/searchPos/}MyService port=PortReceive1
WSDL=searchPos2.wsdl BPEL=Istanze.bpel
DEBUG - GeronimoLog.debug(66) | Looking for Axis2 service configuration
file:
file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BPELTOFIXALL/MyService.axis2
DEBUG - GeronimoLog.debug(66) | Axis2 service configuration not found:
file:/home/stefano/apache-tomcat-6.0.20/webapps/ode/WEB-INF/processes/BPELTOFIXALL/MyService.axis2
DEBUG - GeronimoLog.debug(66) | Created Axis2 service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Activated {
http://eclipse.org/bpel/sample}Istanze-8 myrole SearchPos2: EPR is
org.apache.ode.bpel.epr.wsaendpo...@1a755e
DEBUG - GeronimoLog.debug(66) | Activated {
http://eclipse.org/bpel/sample}Istanze-8
DEBUG - GeronimoLog.debug(66) | Rehydrating process {
http://eclipse.org/bpel/sample}Istanze-8
DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process {
http://eclipse.org/bpel/sample}Istanze-8: partnerlink SearchPos --> {
http://www.example.org/searchPos/}MyService:PortInvoke1
DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process {
http://eclipse.org/bpel/sample}Istanze-8: partnerlink SearchPos2 --> {
http://www.example.org/searchPos/}MyService:PortInvoke2
DEBUG - GeronimoLog.debug(66) | Creating SOAP-bound external service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Created external service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Activated {
http://eclipse.org/bpel/sample}Istanze-8 partnerrole SearchPos: EPR is
org.apache.ode.bpel.epr.wsaendpo...@1d93f39
DEBUG - GeronimoLog.debug(66) | Creating SOAP-bound external service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Created external service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Activated {
http://eclipse.org/bpel/sample}Istanze-8 partnerrole SearchPos2: EPR is
org.apache.ode.bpel.epr.wsaendpo...@1c5cdac
DEBUG - GeronimoLog.debug(66) | Creating process DAO for {
http://eclipse.org/bpel/sample}Istanze-8 (guid=hqejbhcnphr4tk4allwnlb)
INFO - GeronimoLog.info(79) | Registered process {
http://eclipse.org/bpel/sample}Istanze-8.
INFO - GeronimoLog.info(79) | Deployment of artifact BPELTOFIXALL
successful: [{http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | Checking for Service using target endpoint
address : http://localhost:8080/ode/processes/provaApps/searchPos
DEBUG - GeronimoLog.debug(66) | Found service in registry from name
provaApps/searchPos: provaApps/searchPos
DEBUG - GeronimoLog.debug(66) | The system is checking for the operation
using the following WSAAction:
DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message
body's first child's local name : search
DEBUG - GeronimoLog.debug(66) | Found operation
org.apache.axis2.description.inonlyaxisoperat...@28388b
DEBUG - GeronimoLog.debug(66) | Found a header in incoming message, checking
if there are endpoints there.
DEBUG - GeronimoLog.debug(66) | Received one-way message for
provaApps/searchPos.{http://www.example.org/searchPos/}search
DEBUG - GeronimoLog.debug(66) | Starting transaction.
DEBUG - GeronimoLog.debug(66) | Routed: svcQname {
http://www.example.org/searchPos/}MyService --> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation:
name=search
style=ONE_WAY,0
Input: name=null
Message: name={http://www.example.org/searchPos/}searchResponse
Part: name=parameters
elementName={http://www.example.org/searchPos/}search from service {
http://www.example.org/searchPos/}MyService
DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX
{MyRoleMex#hqejbhcnphr4tk4allwnld [Client hqejbhcnphr4tk4allwnlc] calling {
http://www.example.org/searchPos/}MyService.search(...)}
DEBUG - GeronimoLog.debug(66) | Message content:  <?xml version="1.0"
encoding="UTF-8"?>
<message><parameters><search xmlns="http://www.example.org/searchPos/";
xmlns:sear="http://www.example.org/searchPos/"; xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";>
         <where xmlns="">ciao</where>
         <what xmlns="">ciao</what>
      </search></parameters></message>
DEBUG - GeronimoLog.debug(66) | Routed: svcQname {
http://www.example.org/searchPos/}MyService --> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX
{MyRoleMex#hqejbhcnphr4tk4allwnld [Client hqejbhcnphr4tk4allwnlc] calling {
http://www.example.org/searchPos/}MyService.search(...)}
DEBUG - GeronimoLog.debug(66) | Commiting transaction.
DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4tk4allwnld
DEBUG - GeronimoLog.debug(66) | >>
handleWorkEvent(jobData={mexid=hqejbhcnphr4tk4allwnld, pid={
http://eclipse.org/bpel/sample}Istanze-8, type=INVOKE_INTERNAL})
DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid
hqejbhcnphr4tk4allwnld
DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.myRoleSessionId = null
DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.myRoleSessionId = null
DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.partnerRoleSessionId = null
DEBUG - GeronimoLog.debug(66) | INPUTMSG: 12.search: MSG RCVD keys=[]
mySessionId=null partnerSessionId=null
DEBUG - GeronimoLog.debug(66) | INPUTMSG: 12.search: routing failed,
CREATING NEW INSTANCE
DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for instance
2102. INDEXED STATE={}
DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING
CORRELATOR 12.search
DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING for
NEW INSTANCE match
DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance
state from ready to active
DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match
for NEW instance mexRef={MyRoleMex#hqejbhcnphr4tk4allwnld [Client
hqejbhcnphr4tk4allwnlc] calling {
http://www.example.org/searchPos/}MyService.search(...)}
DEBUG - GeronimoLog.debug(66) | INVOKING PARTNER:
partnerLink={PartnerLinkInstance
partnerLinkDecl=OPartnerLink#12,scopeInstanceId=2154}, op=update
channel=null)
DEBUG - GeronimoLog.debug(66) | INVOKE PARTNER (SEP):
sessionId=hqejbhcnphr4tk4allwnlf partnerSessionId=null
DEBUG - GeronimoLog.debug(66) | Routed: svcQname {
http://www.example.org/searchPos/}MyService --> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | Routed: svcQname {
http://www.example.org/searchPos/}MyService --> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | Invoking in a p2p interaction, partnerrole
{PartnerRoleMex#hqejbhcnphr4tk4allwnlh [PID {
http://eclipse.org/bpel/sample}Istanze-8] calling null.update(...)} - myrole
{MyRoleMex#hqejbhcnphr4tk4allwnli [Client hqejbhcnphr4tk4allwnlh] calling {
http://www.example.org/searchPos/}MyService.update(...)}
DEBUG - GeronimoLog.debug(66) | Setting myRoleMex session ids for p2p
interaction, mySession null - partnerSess hqejbhcnphr4tk4allwnlf
DEBUG - GeronimoLog.debug(66) | SET MEX property
org.apache.ode.bpel.partnerRoleSessionId = hqejbhcnphr4tk4allwnlf
DEBUG - GeronimoLog.debug(66) | Routed: svcQname {
http://www.example.org/searchPos/}MyService --> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{
http://eclipse.org/bpel/sample}Istanze-8]
ERROR - GeronimoLog.error(108) | Method "run" in class
"org.apache.ode.bpel.runtime.INVOKE" threw an unexpected exception.
java.lang.NullPointerException
    at
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessageExchangeImpl.java:134)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:765)
    at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:91)
    at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
    at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:835)
    at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:197)
    at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:204)
    at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:372)
    at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
    at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
    at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    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)
ERROR - GeronimoLog.error(108) | Scheduled job failed;
jobDetail={mexid=hqejbhcnphr4tk4allwnld, pid={
http://eclipse.org/bpel/sample}Istanze-8, type=INVOKE_INTERNAL}
java.lang.RuntimeException: java.lang.NullPointerException
    at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
    at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:835)
    at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:197)
    at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:204)
    at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:372)
    at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
    at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
    at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    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)
Caused by: java.lang.NullPointerException
    at
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessageExchangeImpl.java:134)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:765)
    at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:91)
    at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
    ... 17 more
ERROR - GeronimoLog.error(108) | Error while processing transaction,
retrying.
org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
java.lang.RuntimeException: java.lang.NullPointerException
    at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:336)
    at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
    at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
    at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    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)
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
    at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
    at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:835)
    at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:197)
    at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:204)
    at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:372)
    at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
    ... 11 more
Caused by: java.lang.NullPointerException
    at
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessageExchangeImpl.java:134)
    at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:765)
    at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:91)
    at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
    ... 17 more
-- 
Stefano

Reply via email to