Wednesday, June 30, 2010

Parse of component type files failed, check the adf-config.xml file Malformed WS Binding port. Missing # between namespace URI and service/port name

This is the scenarion

YOu have create a BPEL process Process1

You have another BPEL process Process2 and you are calling Process1 in your Process2 through partner link in SOA Suite 11g

When you will compile the project it will give you error

Error(12,61): Parse of component type files failed, check the adf-config.xml file :
"Error at line 32 char 38: Malformed WS Binding port. Missing # between namespace URI and service/port names."


The reason is that some of the fields in the composite.xml of the Process2 are still empty.

I am not sure if this is a bug because i was facing this issue in my laptop which has issues with domain name and ip.


But it you will check the composite.xml of process2 you will find some entry with "reference" tag

<reference name="Service1"
ui:wsdlLocation="BPELProcess1.wsdl">
<interface.wsdl interface="http://xmlns.oracle.com/Application1_jws/Process1/BPELProcess1#wsdl.interface(BPELProcess1)"/>
<binding.ws port=""
location=""/>
</reference>


The reason of the issue is that the binding port and location are not updated in the composite of Process2.

So you have to manually add these values over here.

first of all binding.ws port

to get this value refer to the composite.xml of your Process1 there you will also get a similar field.You have to copy and paste the same
over Process1 composite.

In my case it is something like this.



http://xmlns.oracle.com/Application1_jws/Process1/BPELProcess1#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1_pt)

Again location is your wsdl address of the Process1.

This you can get from em console.

It is the same wsdl url that you provide in the PArtnerlink of Process2 to call the Process1

So in my case it was

http://localhost:8001/soa-infra/services/default/Process1/bpelprocess1_client_ep?WSDL


so my changed reference will look something like this
<reference name="Service1"
ui:wsdlLocation="BPELProcess1.wsdl">
<interface.wsdl interface="http://xmlns.oracle.com/Application1_jws/Process1/BPELProcess1#wsdl.interface(BPELProcess1)"/>
<binding.ws port="http://xmlns.oracle.com/Application1_jws/Process1/BPELProcess1#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1_pt)"
location="http://localhost:8001/soa-infra/services/default/Process1/bpelprocess1_client_ep?WSDL"/>
</reference>


Now compile the project and it should not give any error.

IF you have a callback also you can also add value to the same by refering to the Process1 composite callback url

No comments: