SaNuelson / nswi145_web_services

0 stars 0 forks source link

No feedback regarding issues with the BPEL? #2

Closed SaNuelson closed 2 years ago

SaNuelson commented 2 years ago

In current version the process won't deploy on the ODE (Contractor.deployed file gets created but process isn't present in active processes, and I couldn't find any feedback to find what the fault is).

Things I've tried and used:

> bpelc.bat TodoDebug/InitContract.bpel -v
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
19:34:14.653 [main] INFO  org.apache.ode.bpel.compiler.WSDLRegistry - WSDL at contracts.wsdl imports several documents in the same namespace (http://webinterface/), your documents should all be in different namespaces (its's not nice but will still work).
INFO - 2022-04-03T19:34:14,653 - <org.apache.ode.bpel.compiler.WSDLRegistry> WSDL at contracts.wsdl imports several documents in the same namespace (http://webinterface/), your documents should all be in different namespaces (its's not nice but will still work).
19:34:14.655 [main] INFO  org.apache.ode.bpel.compiler.WSDLRegistry - WSDL at file:/C:/Users/evild/AppData/Local/Apache/tomcat/apache-tomcat-9.0.60/webapps/ode/WEB-INF/processes/TodoDebug/contracts.wsdl is a duplicate import, your documents should all be in different namespaces (its's not nice but will still work).
INFO - 2022-04-03T19:34:14,655 - <org.apache.ode.bpel.compiler.WSDLRegistry> WSDL at file:/C:/Users/evild/AppData/Local/Apache/tomcat/apache-tomcat-9.0.60/webapps/ode/WEB-INF/processes/TodoDebug/contracts.wsdl is a duplicate import, your documents should all be in different namespaces (its's not nice but will still work).
19:34:14.733 [main] INFO  org.apache.ode.tools.bpelc.cline.BpelC - Compilation completed in 386ms
INFO - 2022-04-03T19:34:14,733 - <org.apache.ode.tools.bpelc.cline.BpelC> Compilation completed in 386ms
{
    "faultcode": "java:org.apache.ode.bpel.iapi.ContextException",
    "faultstring": "Invocation of operation deploy failed: org.apache.axis2.AxisFault: Cannot Determine the MEP",
    "details": ""
}

I'm not sure how to proceed at this point. At first I tried to iteratively change the example code from labs, but while that works, at some point I have to add partner links to my server, which bulk adds dozens of new lines of code, which brings me to this exact point.

jakubklimek commented 2 years ago

Have you tried looking into ode.log, typically in Tomcat's bin directory?

Other than that, I suggest "dumbing down" the process to something that works and gradually adding pieces so that it is clear what breaks it. The process not showing up could be missing bindings and ports in BP's WSDL, missing invoke/provides in deploy.xml...

SaNuelson commented 2 years ago

@jakubklimek
Thank you for the response.

I took a look at the ode.log, but it seems it offers no additional info other than the bpelc compiler. Running bpelc with -vv seems to output most helpful info, albeit surrounded by tons of debug text.

I tried dumbing down the example and I seem to have found the minimal example where the issue occurs:

In fb6f973d440bd30c6f06f91baac6762a5b0052dd the example is broken.

When partnerLink "FlcAPPartnerLink" is removed (along with its invoke in sequence), everything should work fine, even if the apparently broken partnerLinkType is declared back in WSDL.

In this case bpelc yields no errors so I have no idea what might be the issue. I tried comparing my code multiple times to the Calc example, but it seems to be analogical, including namespaces, etc.

jakubklimek commented 2 years ago

Just to be sure, did you add "invoke" and "provide" elements corresponding to the partner links to deploy.xml? As I do not see it anywhere in the history of that file...

Otherwise, I will approve the HW, as you obviously gained some understanding of the BPEL language.