ok...so i've solved the xsi:type problem...i added an isd:mapping like it
says at http://marc.theaimsgroup.com/?l=soap-dev&m=97901982213396&w=2 and i
get the correct response from apache - no fault!
But my .NET client gives me the following error even though no fault has
occured: What the hell is going on now???

---------------------------------
 Application Error
----------------------------------------------------------------------------
----

The request failed with HTTP status code 200 and the error message: -- <?xml
version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";> <SOAP-ENV:Body>
<ns1:multiplyBy2Response xmlns:ns1="urn:try:exampleTry"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";> <return
xsi:type="xsd:string">Hello Slayer!</return> </ns1:multiplyBy2Response>
</SOAP-ENV:Body> </SOAP-ENV:Envelope> --.
Description: An unhandled exception occurred at runtime during the execution
of the current web request. Please review the stack trace below to get a
better understanding of what the error is and where it originated from in
the code.

Exception Details: System.Exception: The request failed with HTTP status
code 200 and the error message: -- <?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";> <SOAP-ENV:Body>
<ns1:multiplyBy2Response xmlns:ns1="urn:try:exampleTry"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";> <return
xsi:type="xsd:string">Hello Slayer!</return> </ns1:multiplyBy2Response>
</SOAP-ENV:Body> </SOAP-ENV:Envelope> --.

Source Error:

Line 69:
Line 70:         string dFahrenheit = TextBox1.Text;
Line 71:         string dCelsius = cService.MultiplyBy2(dFahrenheit);
Line 72:         Label1.Text = dCelsius;
Line 73:     }


Source File: c:\documents and
settings\su6645\vswebcache\saburon\vsnet\exampletryclient\webform1.cs
Line: 71

Stack Trace:

[Exception: The request failed with HTTP status code 200 and the error
message:
--
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
<SOAP-ENV:Body>
<ns1:multiplyBy2Response xmlns:ns1="urn:try:exampleTry"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
<return xsi:type="xsd:string">Hello Slayer!</return>
</ns1:multiplyBy2Response>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

--.]

System.Web.Services.Protocols.SoapClientProtocol.ReadResponse(SoapClientMess
age message, HttpClientResponse response) +299
   System.Web.Services.Protocols.SoapClientProtocol.Invoke(String
methodName, Object[] parameters) +119
   exampleTryClients.ExampleTry.MultiplyBy2(String i) +49
   exampleTryClient.WebForm1.Button1_Click(Object sender, EventArgs e) in
c:\documents and
settings\su6645\vswebcache\saburon\vsnet\exampletryclient\webform1.cs:71
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +110
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
+38
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +186
   System.Web.UI.Page.ProcessRequestMain() +752



---------------------------------
----- Original Message -----
From: "Hansen, Richard" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, June 14, 2001 5:34 PM
Subject: RE: Apache SOAP webservice & .NET client


> I would guess that the xsi:type problems you are having may be no
different
> than when getting an MS client to talk to a Apache Java service. Apache
> requires the type info and MS does not include it. You should look at the
> interop docs.
>
> I would think you could just define QNames for the params on the client
side
> and add them to the mapping registry. This is the same thing you would do
> for an MS client and Java server.
>
> Rick Hansen
>
> > -----Original Message-----
> > From: Joseph George [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, June 14, 2001 10:08 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: Apache SOAP webservice & .NET client
> >
> >
> > ok...almost there....using the TcpTunnelGui and alot of
> > copying-pasting...i've finally determined that the fault is
> > because of this
> > line in the soap msg of the .NET client:
> >
> > <i>123</i>
> >
> > and instead it should be:
> >
> > <i xsi:type="xsd:int">123</i>
> >
> > So, how do i specify in my SDL doc to include this type info???
> >
> > ----- Original Message -----
> > From: "Joseph George" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Thursday, June 14, 2001 4:24 PM
> > Subject: Re: Apache SOAP webservice & .NET client
> >
> >
> > > Ok...here what i've done so far...i've made a class in
> > VS.NET which is
> > > exactly the same as my java webservice and got the
> > generated SDL file.
> > and,
> > > i've changed the href to
> > http://solida:8070.soap/servlet/rpcrouter and the
> > > xmlns:s0 :-
> > > -------------------------------------------
> > > <?xml version="1.0"?>
> > > <serviceDescription xmlns:s0="urn:try:exampleTry" name="exampleTry"
> > > targetNamespace="urn:try:exampleTry"
> > > xmlns="urn:schemas-xmlsoap-org:sdl.2000-01-25">
> > >   <soap xmlns="urn:schemas-xmlsoap-org:soap-sdl-2000-01-25">
> > >     <service>
> > >       <addresses>
> > >         <address uri="http://solida:8070/soap/servlet/rpcrouter"/>
> > >       </addresses>
> > >       <requestResponse name="multiplyBy2" soapAction="">
> > >         <request ref="s0:multiplyBy2"/>
> > >         <response ref="s0:multiplyBy2Result"/>
> > >       </requestResponse>
> > >     </service>
> > >   </soap>
> > >   <httppost xmlns="urn:schemas-xmlsoap-org:post-sdl-2000-01-25">
> > >     <service>
> > >       <requestResponse name="multiplyBy2"
> > > href="http://solida:8070/soap/servlet/rpcrouter";>
> > >         <request>
> > >           <form>
> > >             <input name="i"/>
> > >           </form>
> > >         </request>
> > >         <response>
> > >           <mimeXml ref="s0:int"/>
> > >         </response>
> > >       </requestResponse>
> > >     </service>
> > >   </httppost>
> > >   <httpget xmlns="urn:schemas-xmlsoap-org:get-sdl-2000-01-25">
> > >     <service>
> > >       <requestResponse name="multiplyBy2"
> > > href="http://solida:8070/soap/servlet/rpcrouter";>
> > >         <request>
> > >           <param name="i"/>
> > >         </request>
> > >         <response>
> > >           <mimeXml ref="s0:int"/>
> > >         </response>
> > >       </requestResponse>
> > >     </service>
> > >   </httpget>
> > >   <schema targetNamespace="urn:try:exampleTry"
> > > attributeFormDefault="qualified" elementFormDefault="qualified"
> > > xmlns="http://www.w3.org/1999/XMLSchema";>
> > >     <element name="multiplyBy2">
> > >       <complexType>
> > >         <all>
> > >           <element name="i"
> > xmlns:q1="http://www.w3.org/1999/XMLSchema";
> > > type="q1:int"/>
> > >         </all>
> > >       </complexType>
> > >     </element>
> > >     <element name="multiplyBy2Result">
> > >       <complexType>
> > >         <all>
> > >           <element name="result"
> > xmlns:q2="http://www.w3.org/1999/XMLSchema";
> > > type="q2:int"/>
> > >         </all>
> > >       </complexType>
> > >     </element>
> > >     <element name="int" xmlns:q3="http://www.w3.org/1999/XMLSchema";
> > > type="q3:int"/>
> > >   </schema>
> > > </serviceDescription>
> > >
> > > -------------------------------------------
> > > but i get a fault:...
> > >
> > > this is the .NET soap message:
> > > ----------------------------------------
> > > Content-Length: 382
> > > Connection: Keep-Alive
> > > Host: solida
> > > <?xml version="1.0"?>
> > > <soap:Envelope
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
> > > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> > > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
> > > xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
> > >     <soap:Body>
> > >         <multiplyBy2 xmlns="urn:try:exampleTry">
> > >             <i>12</i>
> > >         </multiplyBy2>
> > >     </soap:Body>
> > > </soap:Envelope>
> > > ----------------------------------------
> > >
> > > and this is what apache soap returns...
> > > -----------------------------------------
> > > ?xml version='1.0' encoding='UTF-8'?>
> > > <SOAP-ENV:Envelope
> > > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> > > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
> > > xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
> > > <SOAP-ENV:Body>
> > > <SOAP-ENV:Fault>
> > > <faultcode>SOAP-ENV:Client</faultcode>
> > > <faultstring>No Deserializer found to deserialize a
> > 'urn:try:exampleTry:i'
> > > using encoding style
> > > 'http://schemas.xmlsoap.org/soap/encoding/'.</faultstring>
> > > <faultactor>/soap/servlet/rpcrouter</faultactor>
> > > </SOAP-ENV:Fault>
> > > </SOAP-ENV:Body>
> > > </SOAP-ENV:Envelope>
> > > -----------------------------------------
> > >
> > > What seems to be the problem? Could someone please tell me
> > what my SDL
> > file
> > > should be?
> > > -joseph.
> > >
> > >
> > > ----- Original Message -----
> > > From: "Joseph George" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Thursday, June 14, 2001 11:30 AM
> > > Subject: Re: Apache SOAP webservice & .NET client
> > >
> > >
> > > > But, I !have! to use .NET...its the main part of my
> > project work. I've
> > > been
> > > > searching and searching...but still i have no idea how to get a C#
> > > > application to get talking with an Apache soap
> > webservice. It seems to
> > be
> > > > possible because xmethods.com have done it:
> > http://www.xmethods.com/dotnet
> > > > ...
> > > >
> > > > "Many of the XMethods services now have "adapter"
> > interfaces that allow
> > > > seamless binding with MS .NET clients.   The services
> > themselves are
> > built
> > > > on a variety of different implementations (Apache,
> > SOAP::Lite, etc) but
> > > the
> > > > interfaces hide the interoperability issues that
> > currently exist between
> > > > DotNet and other SOAP implementations."
> > > >
> > > > Any ideas on how xmethods did this?
> > > > Or, is there a simpler way to use a Apache SOAP
> > webservice in an .NET
> > > > client?
> > > >
> > > > Thanks.
> > > >
> > > > ----- Original Message -----
> > > > From: "Abbott, James STASCO-OTO/72" <[EMAIL PROTECTED]>
> > > > To: <[EMAIL PROTECTED]>
> > > > Sent: Thursday, June 14, 2001 11:11 AM
> > > > Subject: RE: Apache SOAP webservice & .NET client
> > > >
> > > >
> > > > > Use the MS SOAP 2.0 Gold Toolkit, which in itself is a
> > fully supported
> > > > > Microsoft product. From this you can either read WSDL
> > files to use the
> > > > high
> > > > > level API, or you can use the low level API which will
> > connect without
> > > the
> > > > > need for the aforementioned file. I can give you some
> > examples of VB
> > > > client
> > > > > code if needed. The best option is to get the SOAP
> > server running.
> > > > >
> > > > > Apache SOAP 2.2
> > > > > Xerces 1.4.... and the rest..
> > > > >
> > > > > -----Original Message-----
> > > > > From: Joseph George
> > [mailto:[EMAIL PROTECTED]]
> > > > > Sent: 13 June 2001 17:08
> > > > > To: [EMAIL PROTECTED]
> > > > > Subject: Re: Apache SOAP webservice & .NET client
> > > > >
> > > > >
> > > > > Hi,
> > > > > I just installed VS.NET yesterday...and i can't wait
> > for beta2(i need
> > to
> > > > sow
> > > > > some results to my boss soon!). So is it possible to
> > consume an Apache
> > > > SOAP
> > > > > webservice from a VS.NET(beta1,c#) client? Is so, how
> > do i go about
> > and
> > > do
> > > > > it. please give explicit instructions...i'm new to all of this!!
> > > > > ----- Original Message -----
> > > > > From: "Mark Richman" <[EMAIL PROTECTED]>
> > > > > To: <[EMAIL PROTECTED]>
> > > > > Sent: Wednesday, June 13, 2001 3:10 PM
> > > > > Subject: Re: Apache SOAP webservice & .NET client
> > > > >
> > > > >
> > > > > > If you wait for VS.NET Beta 2, you can use WSDL
> > instead of SDL. The
> > > WSDL
> > > > > file can be generated from your class by the IBM WSTK easily.
> > > > > >
> > > > > > By the way, why don't we have an Apache SOAP WSDL and
> > proxy class
> > > > > generator?
> > > > > >
> > > > > > - Mark
> > > > > >
> > > > > > On Wed, 13 June 2001, "Joseph George" wrote:
> > > > > >
> > > > > > >
> > > > > > > Hi,
> > > > > > > I checked the archives of this list but most of the messages
> > > > concerning
> > > > > .NET
> > > > > > > dealt with an apache soap client and a .NET
> > webservice. I want to
> > > know
> > > > > how
> > > > > > > to make it work the otherway round.
> > > > > > >
> > > > > > > Suppose i have the following webservice in java:
> > > > > > > ----------------------------------------------
> > > > > > > public class exampleTry {
> > > > > > >     public int multiplyBy2(int i){
> > > > > > >         return i*2;
> > > > > > >     }
> > > > > > > }
> > > > > > > ----------------------------------------------
> > > > > > >
> > > > > > > and i deploy the above using the Apache SOAP admin:
> > > > > > > ----------------------------------------------------------
> > > > > > > Deployed Service Information
> > > > > > > 'urn:try:exampleTry' Service Deployment Descriptor
> > > > > > >
> > > > > > > ID -- urn:try:exampleTry
> > > > > > > Scope -- Request
> > > > > > > Provider Type -- java
> > > > > > > Provider Class -- exampleTry
> > > > > > > Use Static Class -- false
> > > > > > > Methods -- multiplyBy2
> > > > > > > Type Mappings --
> > > > > > > Default Mapping Registry Class --
> > > > > > > ----------------------------------------------------------
> > > > > > >
> > > > > > > The deployed web service is consumed perfectly by this java
> > client:
> > > > > > > ----------------------------------------------------------
> > > > > > > public class Client{
> > > > > > >     public static void main(String[] args) throws Exception{
> > > > > > >         URL url=new
> > > > URL("http://localhost:8080/soap/servlet/rpcrouter";);
> > > > > > >         String urn="urn:try:exampleTry";
> > > > > > >         Call call=new Call();
> > > > > > >         call.setTargetObjectURI(urn);
> > > > > > >         call.setMethodName("multiplyBy2");
> > > > > > >         call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> > > > > > >         Vector param=new Vector();
> > > > > > >         param.addElement(new Parameter("i",Integer.class,new
> > > > > > > Integer(5),null));
> > > > > > >         call.setParams(param);
> > > > > > >         try{
> > > > > > >             Response response=call.invoke(url,"");
> > > > > > >             if(!response.generatedFault()){
> > > > > > >                 Parameter result=response.getReturnValue();
> > > > > > >
> > System.out.println("Result="+result.getValue());
> > > > > > >             }
> > > > > > >             else{
> > > > > > >                 Fault f=response.getFault();
> > > > > > >                 System.err.println("Client.java: Fault
> > Occured!\n");
> > > > > > >             }
> > > > > > >         }
> > > > > > >         catch(SOAPException e){
> > > > > > >             System.err.println("Client.java: SOAPException
> > > caught!");
> > > > > > >         }
> > > > > > >     }
> > > > > > > }
> > > > > > > ----------------------------------------------------------
> > > > > > >
> > > > > > > But now, suppose i want to use a .NET client(beta1,
> > C#) ...how do
> > i
> > > go
> > > > > about
> > > > > > > it? I guess i'll have to make an SDL doc describing
> > my webservice.
> > > > Could
> > > > > > > someone post the SDL file describing the webservice
> > above...and
> > then
> > > > > what?
> > > > > > > Add a webreference by locating this SDL file in .NET?
> > > > > > > Could someone who got this to work please post the
> > step-by-step
> > > > > > > instructions.
> > > > > > >
> > > > > > > Thanks.
> > > > > > > -Joseph.
> > > > > > >
> > > > > > >
> > > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > For additional commands, email:
> > [EMAIL PROTECTED]
> > > > > >
> > > > >
> > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, email: [EMAIL PROTECTED]
> > > > > >
> > > > >
> > > > >
> > > > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, email: [EMAIL PROTECTED]
> > > > >
> > > > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, email: [EMAIL PROTECTED]
> > > > >
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, email: [EMAIL PROTECTED]
> > > >
> > >
> > >
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, email: [EMAIL PROTECTED]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, email: [EMAIL PROTECTED]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to