FYI - I fixed this in the (unreleased) current source of Apache Axis
(expected to be Axis 1.2).

Expect CFMX to have this fix the next time we refresh our web service code.
Or, if it is *really* important to you, you can build yourself a CVS version
of Axis and upgrade the one in webservices.jar in CFMX.  This is not for the
faint of heart.

DO NOT do this and expect support, things to ever work again, etc, etc.  :-)

--
Tom Jordahl
Macromedia Server Development

-----Original Message-----
From: Tom Jordahl [mailto:[EMAIL PROTECTED]
Sent: Monday, October 27, 2003 4:05 PM
To: CF-Talk
Subject: RE: CFMX WebService w/ Multirefs - STILL SHOWS MULTIREFS?

CFMX (aka Apache Axis) doesn't create WSDL with the <soap:fault> name
attribute.  

In my reading the of the WSDL 1.1 spec, it appears that it *should* assign
this name, but this is the first complaint I have see about this issue (in
almost 2 years!).

I would claim that the proxy generator on the other side is being a bit
picky about this, but is probably in the right in this case.

--
Tom Jordahl
Macromedia Server Development
-----Original Message-----
From: Brook Davies [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 23, 2003 4:03 PM
To: CF-Talk
Subject: RE: CFMX WebService w/ Multirefs - STILL SHOWS MULTIREFS?

Okay, I will look at disabling the multi-refs thanks for the tip. After I
defined a custom data type using <cfproperty> my C++ developer said this
about accessing  the service:

"With this service everything was much better. I could successfully
generate proxy class for your wsdl ( There was only 1 issue:
in:

<wsdl:binding  element there is subelement
<wsdl:fault name="CFCInvocationException">
     <wsdlsoap:fault  use="encoded"
encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>http://schemas.xml
soap.org/soap/encoding/"
namespace="<file://'http://lfbridge.lfcomponents"/'>http://lfbridge.lfcompon
ents"/>
  </wsdl:fault>

<wsdlsoap:fault> element required "name" attribute. Without it wsdl didn't
pass validation. when I changed it to following:

<wsdl:fault name="CFCInvocationException">
     <wsdlsoap:fault name="a" use="encoded"
encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>http://schemas.xml
soap.org/soap/encoding/"
namespace="<file://'http://lfbridge.lfcomponents"/'>http://lfbridge.lfcompon
ents"/>
</wsdl:fault>

everything worked ok and I successfully generated proxy class.

And then I could successfully call method ReturnStruct and parse returned
struct "address". "

So it sounds like it is working okay for him now, although he had to change
the WSDL file. Why would that be?

Brook

At 12:35 PM 10/23/2003, you wrote:
>Sam is correct.  Axis is sending the data using multrefs because it is
>using SOAP encoding for the data.
>
>You can turn off multirefs in Axis by editing the server-config.wsdd file
>found in C:\CFusionMX\wwwroot\WEB-INF.
>
>Add the following line under the <globalConfiguration> element:
>
>global_configuration  <parameter name="sendMultiRefs" value="false"/>
>
>You can find more information about the Axis server configuration in the
>reference guide:
>
>
><http://ws.apache.org/axis/java/reference.html>http://ws.apache.org/axis/ja
va/reference.html
><http://ws.apache.org/axis/java/reference.html>
>
>If your C++ developer doesn't support rpc/encoded web services, then you
>are probably going to have more trouble down the line, as this is the
>default for ColdFusion CFC Web Services.
>
>--
>Tom Jordahl
>Macromedia Server Development
>
>-----Original Message-----
>From: Samuel Neff [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, October 22, 2003 12:08 PM
>To: CF-Talk
>Subject: RE: CFMX WebService w/ Multirefs - STILL SHOWS MULTIREFS?
>
>I don't think the WSDL is an issue now, it's the actual SOAP response since
>it doesn't actually embed the response within the response element but
>instead puts it somewhere else with a reference to it.
>
>Is the C++ developer using some standard SOAP client toolkit or rolling his
>own?  Does it/he support RPC style encodings?
>
>Here's what the Axis docs say about multi-ref:
>
>"Since RPC services default to the soap section 5 encoding rules, objects
>will be encoded via "multi-ref" serialization, which allows object graphs
to
>be encoded. (See the SOAP spec for more on multi-ref serialization.)"
>
>Thanks,
>
>Sam
>
>----------------------------------------------
>Blog:  <http://www.rewindlife.com>http://www.rewindlife.com
><http://www.rewindlife.com>
>Chart:
><http://www.blinex.com/products/charting>http://www.blinex.com/products/cha
rting
><http://www.blinex.com/products/charting>
>----------------------------------------------
>
>-----Original Message-----
>From: Matt Liotta [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, October 22, 2003 11:29 AM
>To: CF-Talk
>Subject: Re: CFMX WebService w/ Multirefs - STILL SHOWS MULTIREFS?
>
>The struct return you were using before is handled in an Axis specific
>way, but your current WSDL seems to be standard, so I would suggest you
>provide it to your C++ developer and see what he thinks.
>
>Matt Liotta
>
>   _____
>
>
>----------
>[


  _____  


[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to