where is the schema present?in the location mentioned in the error? or somewhere else?
No it is not in the location mentioned in the error. The location mentioned in the error is the JBOSS_HOME/bin directory
It is actually bundled along with the zip file I am installing. It is only available in the zip file.
That is not a place the default resolvers for xsd's look (afaik). Try putting it in the location mentioned in the error and see if it works then. Not that that is the definitive solution, I just want to be sure everything is ok then.
It will work if I try to put the XSD's in the directory mentioned. But then I will have to put all the XSD's that my WSDL uses in that directory, which is not the expected behavior
It creates problem later also when I try to create a WS Client for the deployed BPEL.
The error now will be like this
20:10:32,563 ERROR [[/jbpm-bpel]] jsp: could not read wsdl document javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve schema referenced at 'Workflow1Dataschema.xsd', relative to 'http://192.168.1.97:8080/EnterpriseProcessManager/HumanTask/1224513534558eb75d24b5596a1b2_1f0dbaf5_11d1ab0258f_-7fff::Workflow1InvokeBatchMesh.wsdl'.: java.io.IOException: Server returned HTTP response code: 500 for URL: http://192.168.1.97:8080/EnterpriseProcessManager/HumanTask/Workflow1Dataschema.xsd
I actually did a work around for this and changed the import statements in the WSDL file
I made them to use the "location" instead of "schemaLocation". Then the deployment worked, but I got error while building the the Web Module.
The error was something like this
error: modeler error: invalid entity name: "workflow1InvokeBM" (in namespace: "http://www.altair.com/EPM/Workflow1Dataschema")
Any idea what this is? And the work around I did, is it a correct way. I got from some googling only.
Can you show me your WSDL document? if possible post a trimmed down document that only shows how the XML schema document is referenced from the WSDL document. Please describe the contents of your process archive as well.
Note that jBPM BPEL is not XML schema aware as of version 1.1.1. The app server web services stack is, tough. During deployment jBPM BPEL builds a .war according to the WS4EE 1.1 specification. It looks for files named *.xsd and puts them in the same directory under WEB-INF/wsdl as they were in the process archive.
For example, if your process archive contains the following file:
The resulting web module will contain:
It follows that WSDL files should use relative URLs to specify the location of its associated XML schema files, and that such relative placement must be reproduced in the process archive.
Many thanks for the information. This is really important information.
But the error I was getting was not w.r.t to this. It was the problem with the WSDL4J API i was using to read my WSDL. I am trying to massage a URL on the fly. In that I used a wrong API call which triggered the first error.
But it appeared to me as BPEL error, since the same zip file worked with the deployment through UI.
The second error is still an issue, but I have a solution for that.
Thanks again for the information.