Rayden_The_God
asked on
delphi web service
Hello all , I am trying to create a delphi web service that is Document|Literal (not the default rpc|Encoded)
if anyone could help me please do , any answer is accepted (even "it can't be done") as long as you give me some links
if anyone could help me please do , any answer is accepted (even "it can't be done") as long as you give me some links
ASKER
Actualy , those options seem to have no effect on the binding method described in the WSDL , what I am trying to obtain in the WSDL is something like this:
<wsdlsoap:binding style="document"
<wsdlsoap:body use="literal"
<wsdlsoap:binding style="document"
<wsdlsoap:body use="literal"
After some searching I found this article
http://conferences.codegear.com/kr/article/32245
containing this in the WSDL
<wsdl:binding name="PigLatinSoapBinding" type="impl:PigLatin">
--> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="latin">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="latinRequest">
--> <wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="latinResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
This should do it, let me know
http://conferences.codegear.com/kr/article/32245
containing this in the WSDL
<wsdl:binding name="PigLatinSoapBinding"
--> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="latin">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="latinRequest">
--> <wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="latinResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
This should do it, let me know
ASKER
I do not see where in this article are the instructions on how to create a webservice document|literal , it seems to me that it's more JBuilder than delphi :( , I need to do it in delphi
I develop using Borland Delphi 7
and File->New->Other->Web Services->SOAP Server Application
Is what i have used to develop my web services.
You provide a interface name and make sure you check mark [Sample Methods] and Comments.
and this is easy enough to develop it.
Now
once you compile it runs a dos screen with wsdl details.
if you want to execute and see the details
just create a virtual directory in IIS with "Execute" Cgi/bin application permission
and make the project folder as source folder for this. [you can also change the output directory and make only exe file to be exposed]
now
goto IE/ or any browser
http://localhost/[your virtual directory name]/yourapplication.exe
this would give you your interface name and click on wsdl to see the wsdl defination.
i think i explained then making more confusing... :)
and File->New->Other->Web Services->SOAP Server Application
Is what i have used to develop my web services.
You provide a interface name and make sure you check mark [Sample Methods] and Comments.
and this is easy enough to develop it.
Now
once you compile it runs a dos screen with wsdl details.
if you want to execute and see the details
just create a virtual directory in IIS with "Execute" Cgi/bin application permission
and make the project folder as source folder for this. [you can also change the output directory and make only exe file to be exposed]
now
goto IE/ or any browser
http://localhost/[your virtual directory name]/yourapplication.exe
this would give you your interface name and click on wsdl to see the wsdl defination.
i think i explained then making more confusing... :)
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Forced accept.
Computer101
EE Admin
Computer101
EE Admin
SOAP Server Data Module
SOAP Server Interface
WSDL Importer
When Delphi is done setting up your project Unit1 has three controls on it. The HTTPSoapPascalInvoker1 component has an Converter property with an Options property. Among the options I see soDocument and soLiteralParams. Not being familiar with doing a SOAP service (I have yet to find the need), This looks like a good start on what you are asking for. With a little experimentation I think you could take it from here. Let me know.