Loading ...
Sorry, an error occurred while loading the content.

Axis client compatibility

Expand Messages
  • Andrew Hicox
    Hello Everyone, I have written a SOAP::Lite webservice that needs to be called from Java via Axis. We are having real problems: I m returning an array of
    Message 1 of 1 , Oct 19, 2005
    • 0 Attachment
      Hello Everyone,

      I have written a SOAP::Lite webservice that needs to be called from
      Java via Axis. We are having real problems:

      I'm returning an array of structures, something like ...


      <namesp1:MethodResponse xmlns:namesp1="Package/Method">
      <list xsi:type="namesp2:Array" SOAP-ENC:arrayType="xsd:ur-type[2]">
      <myStructure xsi:type="namesp2:myStructure">
      <field1 xsi:type="xsd:int">10</field1>
      <field2 xsi:type="xsd:int">12</field1>
      ... etc.
      </myStructure>
      ...
      </list>
      </namesp1:MethodResponse>

      First, Axis complains mightily because <myStructure> is not named <item>

      Second, Axis takes a dump if the namespace of <item> (previously
      <myStructure>) does not match the namespace of <MethodResponse>

      I can manually set xsi:type="namesp1:item" using the ->attr() method
      on the SOAP::Data object, however what I can't do is control what the
      namespace of the MethodResponse will be set to.

      In fact the namespace of the method response seems to be almost
      completely random. Most times it's "namesp1" but some times it's
      "namesp2" and if the server is really busy, I've seen "namesp52".

      So ... is there some sort of axis compatibility flag I need to set in
      the Apache soap handler config?

      Or is there some way for me to explicitly specify the namespace of the
      method response?
    Your message has been successfully submitted and would be delivered to recipients shortly.