Just to follow up.  What I discovered was that specifying
"style='document'" on a cfc in Coldfusion puts Axis (underlying soap
engine) into "wrapped" mode, while OpenBD puts Axis into "document"
mode.  While similar, Axis' wrapped mode is more WS-I compliant and is
what I was looking for.   The differences are explained here [1] and
here [2].

There are two ways to put OpenBD into "wrapped" mode (Document/Literal
Wrapped):

1. I made a small code change that supports "style='document-wrapped'"
in the cfcomponent.  In preliminary testing it seemed to work fine.
My input document looked like the first example in my last email and
the generated WSDL looked correct as well.  The change simply keys off
the "document-wrapped" value and sets the following values in
cfcHandler.java.
sd.setStyle(Style.WRAPPED);
sd.setUse(Use.LITERAL);

2. Specify a document literal wrapped style WSDL explicitly using
wsdlFile in the cfcomponent tag.  This seemed to properly kick Axis
into wrapped mode.  We're going with this solution for now as it
requires no code changes.

Additional Notes:
- The filename of wsdl file pointed to by "wsdlfile=''" needs to be
all upper case.  There is what I would call a bug in OpenBD where it
does .upperCase() on the filename when searching for it.
- It appears that OpenBD is using Axis 1.2.1


[1] http://atmanes.blogspot.com/2007/03/axis-message-style.html
[2] http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/

On Jan 16, 4:14 pm, Richard Taylor <[email protected]> wrote:
> I need to clarify, I meant to say document/literal _wrapped_.  I see
> that specifying style="document" does kick OpenBD into document/
> literal mode.  However for consistency with a previously published
> WSDL (using Coldfusion)...
>
> I'm trying to get the generated WSDL to be something like the
> following (wrapped):
> <soap:envelope>
>     <soap:body>
>         <myMethod>
>             <x>5</x>
>             <y>5.0</y>
>         </myMethod>
>     </soap:body>
> </soap:envelope>
>
> Instead of (not wrapped):
> <soap:envelope>
>     <soap:body>
>         <x>5</x>
>         <y>5.0</y>
>     </soap:body>
> </soap:envelope>
>
> I just downloaded the source and will see what I can find.  Please let
> me know if anyone has hints / suggestions.
>
> Thanks,
> Richard Taylor
> PIER Systems, Inc.
>
> On Jan 16, 4:00 pm, Rich <[email protected]> wrote:
>
> > In Coldfusion (Adobe) it is possible to expose a CFC as a Document/
> > Literal style soap service [1].  In OpenBD I have "style='document'"
> > declaration in my CFC tag but the generated WSDL/service still seems
> > to be RPC style, i.e. the soap requests and responses are not
> > wrapped.  Is it possible to get Open BlueDragon to use the Document/
> > Literal/Wrapped style of SOAP on CFCs?  I'm referring to Open
> > BlueDragon v1.0.
>
> > Thanks,
> > Richard Taylor
> > PIER Systems, Inc.
>
> > [1]http://livedocs.adobe.com/coldfusion/7/htmldocs/wwhelp/wwhimpl/common...
>
>

--~--~---------~--~----~------------~-------~--~----~
Open BlueDragon Public Mailing List
 http://groups.google.com/group/openbd?hl=en
 official site @ http://www.openbluedragon.org/

!! save a network - trim replies before posting !!
-~----------~----~----~----~------~----~------~--~---

Reply via email to