This discussion is archived
3 Replies Latest reply: Apr 22, 2013 10:06 AM by 991448 RSS

Why are these complex types not compatible?

akh2103 Newbie
Currently Being Moderated
In simple Java OO terms: I have one web service that returns an array of integers. I have another web service that accepts an array of integers. I want to feed the output from one webservice into the input of the other web service.

In WSDL/BPEL terms...

Service #1's operation personPositionInfoResponse, returns an array of integers as a complex type:

<wsdl:message name="personPositionInfoResponse">
<wsdl:part name="parameters" element="ns:personPositionInfoResponse"/>
</wsdl:message>

<xs:element name="personPositionInfoResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Position Skill Management takes an array of integers as input:

Service #2's positionSkillRequest takes a complex type that is an array of integers as input:

<wsdl:message name="positionSkillRequest">
<wsdl:part name="parameters" element="ns:positionSkill"/>
</wsdl:message>

<xs:element name="positionSkill">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="positionID" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>

Here is the code that tries to assign the variables:

This is my best idea so far:

<bpel:copy>
<bpel:from>
<![CDATA[$personalInfoServiceOutput.parameters]]>
</bpel:from>
<bpel:to >
<![CDATA[$positionSkillManagementInput.parameters]]>
</bpel:to>
</bpel:copy>

which returns...

The from-spec of "<xs:complexType>" is not compatible with to-spec of "<xs:complexType>" - Element <ns:return> in httplocalhost...:8080/axis2/services/PersonalInfoService?wsdl differs from <ns:positionID> in httplocalhost...:8080/axis2/services/PositionSkillManagementService?wsdl different QNames: ns:return vs ns:positionID

What can I do?

Edited by: 1001421 on Apr 21, 2013 12:05 PM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points