[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.aspnet.webservices

RE: Complex soap messages with structures

Dan

8/31/2003 1:22:00 PM


You are correct. but I cant expose the timestamp field.

The messages work correct if they are sent via http. The
problem comes in the SoapRPC message over the wire.

I used SoapScope to send the raw message and that is when
the problem occurs.

Seems that the messagekeys passed in is always null.

My system is a win200 with VS.Net 2003.

I believe the problem is in the formatting.

Thanks Lewis

>-----Original Message-----
>Hi Dan,
>
>I created a webservice and used the code you provided.
Everything appears
>to be okay on my machine. My OS is win2000 server and is
running VS.NET
>2003.
>
>In the last code snippet of the soap massage, I found
that it should be a
>description of the class keys not the class messagekey.
There are only 2
>public fields for the class messagekey, but the following
has 3 public
>fields.
>
><SOAP-ENV:Envelope
>xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envel...
>xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
><SOAP-ENV:Body>
><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
>SOAP-
NV:encodingStyle="http://schemas.xmlsoap.org/soap...
">
>
> <return xmlns:ns2="urn:mine"
xsi:type="ns2:messagekey"> (It should
>be "keys" not "messagekey".)
>
> <partnerkey xsi:type="xsd:string">PARTNER
KEY</partnerkey>
> <companykey xsi:type="xsd:string">COMPANY
KEY</companykey>
> <timestamp xsi:type="xsd:date">YYYY-MM-DD
HH24:MI:SS </timestamp>
> </return>
> </ns1:standardResponse>
> </SOAP-ENV:Body>
></SOAP-ENV:Envelope>
>
>Based on the current problem description I am still a bit
unclear about
>several points. Which version of VS.NET are you using to
develop the web
>service? Also, could you please provide me with more
information about what
>it is exactly that you would like to achieve. I am
looking forward to your
>reply.
>
>Best regards,
>Lewis
>
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>
>--------------------
>| Content-Class: urn:content-classes:message
>| From: "Dan" <daniel_meland@msn.com>
>| Sender: "Dan" <daniel_meland@msn.com>
>| Subject: Complex soap messages with structures
>| Date: Thu, 28 Aug 2003 09:49:17 -0700
>| Lines: 141
>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
>| MIME-Version: 1.0
>| Content-Type: text/plain;
>| charset="iso-8859-1"
>| Content-Transfer-Encoding: 7bit
>| X-Newsreader: Microsoft CDO for Windows 2000
>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
>| X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>| Newsgroups:
microsoft.public.dotnet.framework.aspnet.webservices
>| Path: cpmsftngxa06.phx.gbl
>| Xref: cpmsftngxa06.phx.gbl
>microsoft.public.dotnet.framework.aspnet.webservices:19072
>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
>| X-Tomcat-NG:
microsoft.public.dotnet.framework.aspnet.webservices
>|
>| OK, I am having a problem getting the xml to format
for
>| this soap message.
>|
>| <SOAP-ENV:Envelope xmlns:SOAP-
>| ENV="http://schemas.xmlsoap.org/soap/envel...
>| xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>| xmlns:xe="urn:mine"
>| xmlns:xe1=" urn:VerifyStatus"
>| xmlns:xe2="http://schemas.xmlsoap.org/soap..."
>| >
>| <SOAP-ENV:Body>
>| <xe1:standard SOAP-
>|
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>| /" >
>| <xe1:key xsi:type="xe:messagekey">
>| <partnerkey
>| xsi:type="xsd:string">someguy</partnerkey>
>| <companykey
>| xsi:type="xsd:string">blah,blah</companykey>
>| </xe1:key>
>| </xe1:standard>
>| </SOAP-ENV:Body>
>| </SOAP-ENV:Envelope>
>|
>| Can anyone help.
>|
>| here is the webmethod:
>|
>| [WebMethod (Description="Validate SOAP
>| server availability and Message Key integrity")]
>| [TraceExtension()]
>| [SoapDocumentMethod
>| ("http://172.17.89.26/stan...,
>|
>| RequestNamespace="http://172.17.89.26/stan...,
>|
>|
ResponseNamespace="http://172.17.89.26/standardResp...,
>| Use=SoapBindingUse.Encoded)
>| ]
>| public keys standard([XmlElement("key")] messagekey key)
>| {
>| keys kys = new keys();
>| //Make sure Embrasure is who is calling us
>| if(key.partnerKey.CompareTo("Embrasure") == 0)
>| {
>| // Validate the login and Embrasure
>| string[] ks = getkey(key.partnerKey,
key.companyKey);
>|
>| kys.partnerKey = ks[0];
>| kys.companyKey = ks[1];
>|
>| }
>| return kys;
>|
>| }
>|
>| here is the messagekey class:
>| [XmlRoot("key")]
>| public class messagekey
>| {
>| public string partnerKey="";
>| public string companyKey = "";
>| public messagekey()
>| {
>| }
>| }
>|
>| and the responding keys class
>| [XmlRoot("return")]
>| public class keys
>| {
>| public string partnerKey="";
>| public string companyKey = "";
>| [XmlElement("timestamp")]
>| public DateTime timestamp;
>| public keys()
>| {
>| timestamp=DateTime.Now;
>| }
>|
>| }
>|
>|
>| <SOAP-ENV:Envelope xmlns:SOAP-
>| ENV="http://schemas.xmlsoap.org/soap/envel...
>| xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>| xmlns:xe="urn:mine"
>| xmlns:xe1=" urn:VerifyStatus"
>| xmlns:xe2="http://schemas.xmlsoap.org/soap..."
>| >
>| <SOAP-ENV:Body>
>| <xe1:standard SOAP-
>|
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>| /" >
>| <xe1:key xsi:type="xe:messagekey">
>| <partnerkey
>| xsi:type="xsd:string">someguy</partnerkey>
>| <companykey
>| xsi:type="xsd:string">blah,blah</companykey>
>| </xe1:key>
>| </xe1:standard>
>| </SOAP-ENV:Body>
>| </SOAP-ENV:Envelope>
>|
>| the response should look like this.
>| <SOAP-ENV:Envelope
>| xmlns:SOAP-
>| ENV="http://schemas.xmlsoap.org/soap/envel...
>| xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>| >
>| <SOAP-ENV:Body>
>| <ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
>| SOAP-
>|
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>| /">
>| <return xmlns:ns2="urn:mine"
>| xsi:type="ns2:messagekey">
>| <partnerkey xsi:type="xsd:string">PARTNER
>| KEY</partnerkey>
>| <companykey xsi:type="xsd:string">COMPANY
>| KEY</companykey>
>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
>| HH24:MI:SS </timestamp>
>| </return>
>| </ns1:standardResponse>
>| </SOAP-ENV:Body>
>| </SOAP-ENV:Envelope>
>|
>|
>| I cant get the response nor does the method see the
>| message object being passed in.
>|
>| Does any one have any ideas. I dont want to hack teh
XML
>| stream going out.
>|
>| Thanks
>| Dan
>|
>|
>
>.
>
6 Answers

yhhuang

9/3/2003 9:46:00 AM

0

Hello Daniel,

Thanks for posting in the group.

After reviewing all all the thread, I summary the question as the following:
You use SOAP to call a web method in a web service, the input parameter
messagekey becomes null when transferred into web service. However, if in
HTTP call, the parameter could be got successfully in web method. Please
post here if I have misunderstood anything.

Could you please send me a small repro sample include web service, SOAP
client and HTTP client? I will test it on my side to reproduce the problem.
When debugging, we could use SOAP trace tool to check input and output on
web service side to see where the error happens. You could also use SOAP
trace tool at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/s...
ap_overview_5y49.asp.


Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
!Content-Class: urn:content-classes:message
!From: "Dan" <daniel_meland@msn.com>
!Sender: "Dan" <daniel_meland@msn.com>
!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
<oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
!Subject: RE: Complex soap messages with structures
!Date: Sun, 31 Aug 2003 06:21:56 -0700
!Lines: 252
!Message-ID: <070b01c36fc2$d981d910$a101280a@phx.gbl>
!MIME-Version: 1.0
!Content-Type: text/plain;
! charset="iso-8859-1"
!Content-Transfer-Encoding: 7bit
!X-Newsreader: Microsoft CDO for Windows 2000
!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!Thread-Index: AcNvwtl/e/n6IATETsKcVR5lW4ZWSg==
!Newsgroups: microsoft.public.dotnet.framework.aspnet.webservices
!Path: cpmsftngxa06.phx.gbl
!Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.aspnet.webservices:19121
!NNTP-Posting-Host: TK2MSFTNGXA09 10.40.1.161
!X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webservices
!
!
!You are correct. but I cant expose the timestamp field.
!
!The messages work correct if they are sent via http. The
!problem comes in the SoapRPC message over the wire.
!
!I used SoapScope to send the raw message and that is when
!the problem occurs.
!
!Seems that the messagekeys passed in is always null.
!
!My system is a win200 with VS.Net 2003.
!
!I believe the problem is in the formatting.
!
!Thanks Lewis
!
!>-----Original Message-----
!>Hi Dan,
!>
!>I created a webservice and used the code you provided.
!Everything appears
!>to be okay on my machine. My OS is win2000 server and is
!running VS.NET
!>2003.
!>
!>In the last code snippet of the soap massage, I found
!that it should be a
!>description of the class keys not the class messagekey.
!There are only 2
!>public fields for the class messagekey, but the following
!has 3 public
!>fields.
!>
!><SOAP-ENV:Envelope
!>xmlns:SOAP-
!ENV="http://schemas.xmlsoap.org/soap/envel...
!>xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
!>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
!><SOAP-ENV:Body>
!><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>SOAP-
!NV:encodingStyle="http://schemas.xmlsoap.org/soap...
!">
!>
!> <return xmlns:ns2="urn:mine"
!xsi:type="ns2:messagekey"> (It should
!>be "keys" not "messagekey".)
!>
!> <partnerkey xsi:type="xsd:string">PARTNER
!KEY</partnerkey>
!> <companykey xsi:type="xsd:string">COMPANY
!KEY</companykey>
!> <timestamp xsi:type="xsd:date">YYYY-MM-DD
!HH24:MI:SS </timestamp>
!> </return>
!> </ns1:standardResponse>
!> </SOAP-ENV:Body>
!></SOAP-ENV:Envelope>
!>
!>Based on the current problem description I am still a bit
!unclear about
!>several points. Which version of VS.NET are you using to
!develop the web
!>service? Also, could you please provide me with more
!information about what
!>it is exactly that you would like to achieve. I am
!looking forward to your
!>reply.
!>
!>Best regards,
!>Lewis
!>
!>This posting is provided "AS IS" with no warranties, and
!confers no rights.
!>
!>--------------------
!>| Content-Class: urn:content-classes:message
!>| From: "Dan" <daniel_meland@msn.com>
!>| Sender: "Dan" <daniel_meland@msn.com>
!>| Subject: Complex soap messages with structures
!>| Date: Thu, 28 Aug 2003 09:49:17 -0700
!>| Lines: 141
!>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!>| MIME-Version: 1.0
!>| Content-Type: text/plain;
!>| charset="iso-8859-1"
!>| Content-Transfer-Encoding: 7bit
!>| X-Newsreader: Microsoft CDO for Windows 2000
!>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
!>| X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!>| Newsgroups:
!microsoft.public.dotnet.framework.aspnet.webservices
!>| Path: cpmsftngxa06.phx.gbl
!>| Xref: cpmsftngxa06.phx.gbl
!>microsoft.public.dotnet.framework.aspnet.webservices:19072
!>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
!>| X-Tomcat-NG:
!microsoft.public.dotnet.framework.aspnet.webservices
!>|
!>| OK, I am having a problem getting the xml to format
!for
!>| this soap message.
!>|
!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>| xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>| xmlns:xe="urn:mine"
!>| xmlns:xe1=" urn:VerifyStatus"
!>| xmlns:xe2="http://schemas.xmlsoap.org/soap..."
!>| >
!>| <SOAP-ENV:Body>
!>| <xe1:standard SOAP-
!>|
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>| /" >
!>| <xe1:key xsi:type="xe:messagekey">
!>| <partnerkey
!>| xsi:type="xsd:string">someguy</partnerkey>
!>| <companykey
!>| xsi:type="xsd:string">blah,blah</companykey>
!>| </xe1:key>
!>| </xe1:standard>
!>| </SOAP-ENV:Body>
!>| </SOAP-ENV:Envelope>
!>|
!>| Can anyone help.
!>|
!>| here is the webmethod:
!>|
!>| [WebMethod (Description="Validate SOAP
!>| server availability and Message Key integrity")]
!>| [TraceExtension()]
!>| [SoapDocumentMethod
!>| ("http://172.17.89.26/stan...,
!>|
!>| RequestNamespace="http://172.17.89.26/stan...,
!>|
!>|
!ResponseNamespace="http://172.17.89.26/standardResp...,
!>| Use=SoapBindingUse.Encoded)
!>| ]
!>| public keys standard([XmlElement("key")] messagekey key)
!>| {
!>| keys kys = new keys();
!>| //Make sure Embrasure is who is calling us
!>| if(key.partnerKey.CompareTo("Embrasure") == 0)
!>| {
!>| // Validate the login and Embrasure
!>| string[] ks = getkey(key.partnerKey,
!key.companyKey);
!>|
!>| kys.partnerKey = ks[0];
!>| kys.companyKey = ks[1];
!>|
!>| }
!>| return kys;
!>|
!>| }
!>|
!>| here is the messagekey class:
!>| [XmlRoot("key")]
!>| public class messagekey
!>| {
!>| public string partnerKey="";
!>| public string companyKey = "";
!>| public messagekey()
!>| {
!>| }
!>| }
!>|
!>| and the responding keys class
!>| [XmlRoot("return")]
!>| public class keys
!>| {
!>| public string partnerKey="";
!>| public string companyKey = "";
!>| [XmlElement("timestamp")]
!>| public DateTime timestamp;
!>| public keys()
!>| {
!>| timestamp=DateTime.Now;
!>| }
!>|
!>| }
!>|
!>|
!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>| xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>| xmlns:xe="urn:mine"
!>| xmlns:xe1=" urn:VerifyStatus"
!>| xmlns:xe2="http://schemas.xmlsoap.org/soap..."
!>| >
!>| <SOAP-ENV:Body>
!>| <xe1:standard SOAP-
!>|
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>| /" >
!>| <xe1:key xsi:type="xe:messagekey">
!>| <partnerkey
!>| xsi:type="xsd:string">someguy</partnerkey>
!>| <companykey
!>| xsi:type="xsd:string">blah,blah</companykey>
!>| </xe1:key>
!>| </xe1:standard>
!>| </SOAP-ENV:Body>
!>| </SOAP-ENV:Envelope>
!>|
!>| the response should look like this.
!>| <SOAP-ENV:Envelope
!>| xmlns:SOAP-
!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>| xmlns:xsi="http://www.w3.org/1999/XMLSchema-inst...
!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>| >
!>| <SOAP-ENV:Body>
!>| <ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>| SOAP-
!>|
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>| /">
!>| <return xmlns:ns2="urn:mine"
!>| xsi:type="ns2:messagekey">
!>| <partnerkey xsi:type="xsd:string">PARTNER
!>| KEY</partnerkey>
!>| <companykey xsi:type="xsd:string">COMPANY
!>| KEY</companykey>
!>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>| HH24:MI:SS </timestamp>
!>| </return>
!>| </ns1:standardResponse>
!>| </SOAP-ENV:Body>
!>| </SOAP-ENV:Envelope>
!>|
!>|
!>| I cant get the response nor does the method see the
!>| message object being passed in.
!>|
!>| Does any one have any ideas. I dont want to hack teh
!XML
!>| stream going out.
!>|
!>| Thanks
!>| Dan
!>|
!>|
!>
!>.
!>
!

yhhuang

9/5/2003 9:07:00 AM

0

Hello Dan,

Could you please test it in VS.NET? We have no SoapScope in hand now. I
just visited their homepage and the software is not free.

When using VS.NET to create a web service client, the generated proxy class
has its own namespace associated with it, and you must add that namespace
to your client application before you can create an instance of the proxy
class. As with any other class, you must first create an instance of it
before you can call any of its methods. This process does not differ at all
from creating an instance of any other class.

When using a proxy class that Visual Studio generated directly from the
service description of an XML Web service, accessing an XML Web service in
managed code is a relatively simple process. To access an XML Web service
method, your client application invokes either the corresponding
synchronous method or asynchronous methods of the proxy object. These
methods do the necessary work to remote the call over the wire to call the
desired XML Web service method. By default, the proxy class uses SOAP to
access the XML Web service method, as SOAP supports the richest set of data
types of the three

I suggest you use SOAP trace tool that I mentioned in the former post to
trace different SOAP message body in server side to see the difference.

Thanks very much for your cooperation.

Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
!Content-Class: urn:content-classes:message
!From: "Dan" <daniel_meland@msn.com>
!Sender: "Dan" <daniel_meland@msn.com>
!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
<oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
<070b01c36fc2$d981d910$a101280a@phx.gbl>
<4#fwUAgcDHA.1932@cpmsftngxa06.phx.gbl>
!Subject: RE: Complex soap messages with structures
!Date: Thu, 4 Sep 2003 09:41:53 -0700
!Lines: 499
!Message-ID: <1f4101c37303$727f0910$a401280a@phx.gbl>
!MIME-Version: 1.0
!Content-Type: text/plain;
! charset="iso-8859-1"
!Content-Transfer-Encoding: 7bit
!X-Newsreader: Microsoft CDO for Windows 2000
!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!Thread-Index: AcNzA3J86GK2LqxES5OqaSQaTLWCbg==
!Newsgroups: microsoft.public.dotnet.framework.aspnet.webservices
!Path: cpmsftngxa06.phx.gbl
!Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.aspnet.webservices:19188
!NNTP-Posting-Host: TK2MSFTNGXA12 10.40.1.164
!X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webservices
!
!Yes that is correct.
!In HTTP the objet gets there however using the soapscope
!and sending the raw SOAP message it does not work and is
!null.
!
!Here is the code:
!
!?
!###########################################################
!####?
!
!SERVICE PART
!
!?
!###########################################################
!####?
!
!
!using System;
!using System.Collections;
!using System.ComponentModel;
!using System.Data;
!using System.Diagnostics;
!using System.Web;
!using System.Web.Services;
!using System.Web.Services.Protocols;
!using System.Web.Services.Description;
!using System.Xml;
!using System.Xml.Serialization;
!
!namespace test
!{
!
! /// <summary>
! /// Summary description for Service1.
! /// </summary>
! [WebServiceAttribute(Name="embrasure",
!Namespace="urn:embrasure")]
!/* [SoapRpcService(
!RoutingStyle=SoapServiceRoutingStyle.SoapAction)]*/
! public class Service1 :
!System.Web.Services.WebService
! {
! public Service1()
! {
! //CODEGEN: This call is required
!by the ASP.NET Web Services Designer
! InitializeComponent();
! }
!
! #region Component Designer generated code
!
! //Required by the Web Services Designer
! private IContainer components = null;
!
! /// <summary>
! /// Required method for Designer support -
!do not modify
! /// the contents of this method with the
!code editor.
! /// </summary>
! private void InitializeComponent()
! {
! }
!
! /// <summary>
! /// Clean up any resources being used.
! /// </summary>
! protected override void Dispose( bool
!disposing )
! {
! if(disposing && components != null)
! {
! components.Dispose();
! }
! base.Dispose(disposing);
!
! }
!
! #endregion
!
! // WEB SERVICE EXAMPLE
! // The HelloWorld() example service
!returns the string Hello World
! // To build, uncomment the following lines
!then save and build the project
! // To test this web service, press F5
!
! [WebMethod]
! [SoapDocumentMethod("standard",
!
!RequestNamespace="urn:VerifyStatus",
! RequestElementName="standard",
! ResponseNamespace="standard",
!
!ResponseElementName="standardResponse",
! Use=SoapBindingUse.Literal)]
! [return: XmlElement("return")]
! public mykey2 standard([XmlElement
!(Type=typeof(messagekey), Namespace="urn:VerifyStatus")]
! messagekey key)
! {
! mykey2 ky = new mykey2();
! ky.partnerKey=key.partnerKey;
! ky.companyKey=key.companyKey;
! ky.dt= DateTime.Now;
! return ky;
! }
! }
!
!
! public class messagekey
! {
! public string partnerKey;
! public string companyKey;
! }
!
! [XmlRoot("return")]
! public class mykey2
! {
! public string partnerKey;
! public string companyKey;
!
! public DateTime dt=DateTime.Now;
! }
!}
!
!
!Calls are made as raw SOAP messages.
!Here is the incoming soap call:
!
!<SOAP-ENV:Envelope
! xmlns:SOAP-
!ENV="http://schemas.xmlsoap.org/soap/envel...
! xmlns:xsi="http://www.w3.org/1999/...inst...
! xmlns:xsd="http://www.w3.org/1999/XMLSc...
! xmlns:xe="urn:embrasure"
! xmlns:xe1="urn:VerifyStatus"
! xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
! >
! <SOAP-ENV:Body>
! <xe1:standard SOAP-
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!/" >
! <xe1:key xsi:type="xe:messagekey">
! <partnerkey
!xsi:type="xsd:string">Embasure</partnerkey>
! <companykey
!xsi:type="xsd:string">PHTRopphile,disney</companykey>
! </xe1:key>
! </xe1:standard>
! </SOAP-ENV:Body>
!</SOAP-ENV:Envelope>
!
!
!I am using SoapScope as a client to the service
!
!THanks for the help
!Dan
!
!
!>-----Original Message-----
!>Hello Daniel,
!>
!>Thanks for posting in the group.
!>
!>After reviewing all all the thread, I summary the
!question as the following:
!>You use SOAP to call a web method in a web service, the
!input parameter
!>messagekey becomes null when transferred into web
!service. However, if in
!>HTTP call, the parameter could be got successfully in web
!method. Please
!>post here if I have misunderstood anything.
!>
!>Could you please send me a small repro sample include web
!service, SOAP
!>client and HTTP client? I will test it on my side to
!reproduce the problem.
!>When debugging, we could use SOAP trace tool to check
!input and output on
!>web service side to see where the error happens. You
!could also use SOAP
!>trace tool at
!>http://msdn.microsoft.com/library/de...
!url=/library/en-us/soap/htm/so
!>ap_overview_5y49.asp.
!>
!>
!>Best regards,
!>Yanhong Huang
!>Microsoft Online Partner Support
!>
!>Get Secure! - www.microsoft.com/security
!>This posting is provided "AS IS" with no warranties, and
!confers no rights.
!>
!>--------------------
!>!Content-Class: urn:content-classes:message
!>!From: "Dan" <daniel_meland@msn.com>
!>!Sender: "Dan" <daniel_meland@msn.com>
!>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
!>!Subject: RE: Complex soap messages with structures
!>!Date: Sun, 31 Aug 2003 06:21:56 -0700
!>!Lines: 252
!>!Message-ID: <070b01c36fc2$d981d910$a101280a@phx.gbl>
!>!MIME-Version: 1.0
!>!Content-Type: text/plain;
!>! charset="iso-8859-1"
!>!Content-Transfer-Encoding: 7bit
!>!X-Newsreader: Microsoft CDO for Windows 2000
!>!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!>!Thread-Index: AcNvwtl/e/n6IATETsKcVR5lW4ZWSg==
!>!Newsgroups:
!microsoft.public.dotnet.framework.aspnet.webservices
!>!Path: cpmsftngxa06.phx.gbl
!>!Xref: cpmsftngxa06.phx.gbl
!>microsoft.public.dotnet.framework.aspnet.webservices:19121
!>!NNTP-Posting-Host: TK2MSFTNGXA09 10.40.1.161
!>!X-Tomcat-NG:
!microsoft.public.dotnet.framework.aspnet.webservices
!>!
!>!
!>!You are correct. but I cant expose the timestamp field.
!>!
!>!The messages work correct if they are sent via http.
!The
!>!problem comes in the SoapRPC message over the wire.
!>!
!>!I used SoapScope to send the raw message and that is
!when
!>!the problem occurs.
!>!
!>!Seems that the messagekeys passed in is always null.
!>!
!>!My system is a win200 with VS.Net 2003.
!>!
!>!I believe the problem is in the formatting.
!>!
!>!Thanks Lewis
!>!
!>!>-----Original Message-----
!>!>Hi Dan,
!>!>
!>!>I created a webservice and used the code you provided.
!>!Everything appears
!>!>to be okay on my machine. My OS is win2000 server and
!is
!>!running VS.NET
!>!>2003.
!>!>
!>!>In the last code snippet of the soap massage, I found
!>!that it should be a
!>!>description of the class keys not the class messagekey.
!>!There are only 2
!>!>public fields for the class messagekey, but the
!following
!>!has 3 public
!>!>fields.
!>!>
!>!><SOAP-ENV:Envelope
!>!>xmlns:SOAP-
!>!ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>xmlns:xsi="http://www.w3.org/1999/...inst...
!>!>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
!>!><SOAP-ENV:Body>
!>!><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>!>SOAP-
!>!
!NV:encodingStyle="http://schemas.xmlsoap.org/soa.../
!>!">
!>!>
!>!> <return xmlns:ns2="urn:mine"
!>!xsi:type="ns2:messagekey"> (It should
!>!>be "keys" not "messagekey".)
!>!>
!>!> <partnerkey xsi:type="xsd:string">PARTNER
!>!KEY</partnerkey>
!>!> <companykey xsi:type="xsd:string">COMPANY
!>!KEY</companykey>
!>!> <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>!HH24:MI:SS </timestamp>
!>!> </return>
!>!> </ns1:standardResponse>
!>!> </SOAP-ENV:Body>
!>!></SOAP-ENV:Envelope>
!>!>
!>!>Based on the current problem description I am still a
!bit
!>!unclear about
!>!>several points. Which version of VS.NET are you using
!to
!>!develop the web
!>!>service? Also, could you please provide me with more
!>!information about what
!>!>it is exactly that you would like to achieve. I am
!>!looking forward to your
!>!>reply.
!>!>
!>!>Best regards,
!>!>Lewis
!>!>
!>!>This posting is provided "AS IS" with no warranties,
!and
!>!confers no rights.
!>!>
!>!>--------------------
!>!>| Content-Class: urn:content-classes:message
!>!>| From: "Dan" <daniel_meland@msn.com>
!>!>| Sender: "Dan" <daniel_meland@msn.com>
!>!>| Subject: Complex soap messages with structures
!>!>| Date: Thu, 28 Aug 2003 09:49:17 -0700
!>!>| Lines: 141
!>!>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!>!>| MIME-Version: 1.0
!>!>| Content-Type: text/plain;
!>!>| charset="iso-8859-1"
!>!>| Content-Transfer-Encoding: 7bit
!>!>| X-Newsreader: Microsoft CDO for Windows 2000
!>!>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
!>!>| X-MimeOLE: Produced By Microsoft MimeOLE
!V5.50.4910.0300
!>!>| Newsgroups:
!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>| Path: cpmsftngxa06.phx.gbl
!>!>| Xref: cpmsftngxa06.phx.gbl
!>!
!>microsoft.public.dotnet.framework.aspnet.webservices:19072
!>!>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
!>!>| X-Tomcat-NG:
!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>|
!>!>| OK, I am having a problem getting the xml to format
!>!for
!>!>| this soap message.
!>!>|
!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>| xmlns:xsi="http://www.w3.org/1999/...
!instance"
!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>| xmlns:xe="urn:mine"
!>!>| xmlns:xe1=" urn:VerifyStatus"
!>!>|
!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>!>| >
!>!>| <SOAP-ENV:Body>
!>!>| <xe1:standard SOAP-
!>!>|
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>| /" >
!>!>| <xe1:key xsi:type="xe:messagekey">
!>!>| <partnerkey
!>!>| xsi:type="xsd:string">someguy</partnerkey>
!>!>| <companykey
!>!>| xsi:type="xsd:string">blah,blah</companykey>
!>!>| </xe1:key>
!>!>| </xe1:standard>
!>!>| </SOAP-ENV:Body>
!>!>| </SOAP-ENV:Envelope>
!>!>|
!>!>| Can anyone help.
!>!>|
!>!>| here is the webmethod:
!>!>|
!>!>| [WebMethod (Description="Validate SOAP
!>!>| server availability and Message Key integrity")]
!>!>| [TraceExtension()]
!>!>| [SoapDocumentMethod
!>!>| ("http://172.17.89.26/stan...,
!>!>|
!>!>| RequestNamespace="http://172.17.89.26/stan...,
!>!>|
!>!>|
!>!ResponseNamespace="http://172.17.89.26/standardResp...,
!>!>| Use=SoapBindingUse.Encoded)
!>!>| ]
!>!>| public keys standard([XmlElement("key")] messagekey
!key)
!>!>| {
!>!>| keys kys = new keys();
!>!>| //Make sure Embrasure is who is calling us
!>!>| if(key.partnerKey.CompareTo("Embrasure") == 0)
!>!>| {
!>!>| // Validate the login and Embrasure
!>!>| string[] ks = getkey(key.partnerKey,
!>!key.companyKey);
!>!>|
!>!>| kys.partnerKey = ks[0];
!>!>| kys.companyKey = ks[1];
!>!>|
!>!>| }
!>!>| return kys;
!>!>|
!>!>| }
!>!>|
!>!>| here is the messagekey class:
!>!>| [XmlRoot("key")]
!>!>| public class messagekey
!>!>| {
!>!>| public string partnerKey="";
!>!>| public string companyKey = "";
!>!>| public messagekey()
!>!>| {
!>!>| }
!>!>| }
!>!>|
!>!>| and the responding keys class
!>!>| [XmlRoot("return")]
!>!>| public class keys
!>!>| {
!>!>| public string partnerKey="";
!>!>| public string companyKey = "";
!>!>| [XmlElement("timestamp")]
!>!>| public DateTime timestamp;
!>!>| public keys()
!>!>| {
!>!>| timestamp=DateTime.Now;
!>!>| }
!>!>|
!>!>| }
!>!>|
!>!>|
!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>| xmlns:xsi="http://www.w3.org/1999/...
!instance"
!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>| xmlns:xe="urn:mine"
!>!>| xmlns:xe1=" urn:VerifyStatus"
!>!>|
!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>!>| >
!>!>| <SOAP-ENV:Body>
!>!>| <xe1:standard SOAP-
!>!>|
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>| /" >
!>!>| <xe1:key xsi:type="xe:messagekey">
!>!>| <partnerkey
!>!>| xsi:type="xsd:string">someguy</partnerkey>
!>!>| <companykey
!>!>| xsi:type="xsd:string">blah,blah</companykey>
!>!>| </xe1:key>
!>!>| </xe1:standard>
!>!>| </SOAP-ENV:Body>
!>!>| </SOAP-ENV:Envelope>
!>!>|
!>!>| the response should look like this.
!>!>| <SOAP-ENV:Envelope
!>!>| xmlns:SOAP-
!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>| xmlns:xsi="http://www.w3.org/1999/...
!instance"
!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>| >
!>!>| <SOAP-ENV:Body>
!>!>| <ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>!>| SOAP-
!>!>|
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>| /">
!>!>| <return xmlns:ns2="urn:mine"
!>!>| xsi:type="ns2:messagekey">
!>!>| <partnerkey xsi:type="xsd:string">PARTNER
!>!>| KEY</partnerkey>
!>!>| <companykey xsi:type="xsd:string">COMPANY
!>!>| KEY</companykey>
!>!>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>!>| HH24:MI:SS </timestamp>
!>!>| </return>
!>!>| </ns1:standardResponse>
!>!>| </SOAP-ENV:Body>
!>!>| </SOAP-ENV:Envelope>
!>!>|
!>!>|
!>!>| I cant get the response nor does the method see the
!>!>| message object being passed in.
!>!>|
!>!>| Does any one have any ideas. I dont want to hack teh
!>!XML
!>!>| stream going out.
!>!>|
!>!>| Thanks
!>!>| Dan
!>!>|
!>!>|
!>!>
!>!>.
!>!>
!>!
!>
!>.
!>
!

yhhuang

9/5/2003 10:00:00 AM

0

Hi Daniel,

I tested my client in VS.NET and it works fine.

Here is the soap request that I got from trace tool:

<?xml version="1.0" encoding="utf-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envel...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
xmlns:xsd="http://www.w3.org/2001/XMLSchema...
- <soap:Body>
- <standard xmlns="urn:VerifyStatus">
- <key>
<partnerKey>testPartner</partnerKey>
<companyKey>testCompany</companyKey>
</key>
</standard>
</soap:Body>
</soap:Envelope>

SOAP response:

<?xml version="1.0" encoding="utf-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envel...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
xmlns:xsd="http://www.w3.org/2001/XMLSchema...
- <soap:Body>
- <standardResponse xmlns="standard">
- <return>
<partnerKey>testPartner</partnerKey>
<companyKey>testCompany</companyKey>
<dt>2003-09-05T17:57:15.5403220+08:00</dt>
</return>
</standardResponse>
</soap:Body>
</soap:Envelope>

Hope that helps.

Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
!Content-Class: urn:content-classes:message
!From: "Dan" <daniel_meland@msn.com>
!Sender: "Dan" <daniel_meland@msn.com>
!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
<oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
<070b01c36fc2$d981d910$a101280a@phx.gbl>
<4#fwUAgcDHA.1932@cpmsftngxa06.phx.gbl>
!Subject: RE: Complex soap messages with structures
!Date: Thu, 4 Sep 2003 09:41:53 -0700
!Lines: 499
!Message-ID: <1f4101c37303$727f0910$a401280a@phx.gbl>
!MIME-Version: 1.0
!Content-Type: text/plain;
! charset="iso-8859-1"
!Content-Transfer-Encoding: 7bit
!X-Newsreader: Microsoft CDO for Windows 2000
!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!Thread-Index: AcNzA3J86GK2LqxES5OqaSQaTLWCbg==
!Newsgroups: microsoft.public.dotnet.framework.aspnet.webservices
!Path: cpmsftngxa06.phx.gbl
!Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.aspnet.webservices:19188
!NNTP-Posting-Host: TK2MSFTNGXA12 10.40.1.164
!X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webservices
!
!Yes that is correct.
!In HTTP the objet gets there however using the soapscope
!and sending the raw SOAP message it does not work and is
!null.
!
!Here is the code:
!
!?
!###########################################################
!####?
!
!SERVICE PART
!
!?
!###########################################################
!####?
!
!
!using System;
!using System.Collections;
!using System.ComponentModel;
!using System.Data;
!using System.Diagnostics;
!using System.Web;
!using System.Web.Services;
!using System.Web.Services.Protocols;
!using System.Web.Services.Description;
!using System.Xml;
!using System.Xml.Serialization;
!
!namespace test
!{
!
! /// <summary>
! /// Summary description for Service1.
! /// </summary>
! [WebServiceAttribute(Name="embrasure",
!Namespace="urn:embrasure")]
!/* [SoapRpcService(
!RoutingStyle=SoapServiceRoutingStyle.SoapAction)]*/
! public class Service1 :
!System.Web.Services.WebService
! {
! public Service1()
! {
! //CODEGEN: This call is required
!by the ASP.NET Web Services Designer
! InitializeComponent();
! }
!
! #region Component Designer generated code
!
! //Required by the Web Services Designer
! private IContainer components = null;
!
! /// <summary>
! /// Required method for Designer support -
!do not modify
! /// the contents of this method with the
!code editor.
! /// </summary>
! private void InitializeComponent()
! {
! }
!
! /// <summary>
! /// Clean up any resources being used.
! /// </summary>
! protected override void Dispose( bool
!disposing )
! {
! if(disposing && components != null)
! {
! components.Dispose();
! }
! base.Dispose(disposing);
!
! }
!
! #endregion
!
! // WEB SERVICE EXAMPLE
! // The HelloWorld() example service
!returns the string Hello World
! // To build, uncomment the following lines
!then save and build the project
! // To test this web service, press F5
!
! [WebMethod]
! [SoapDocumentMethod("standard",
!
!RequestNamespace="urn:VerifyStatus",
! RequestElementName="standard",
! ResponseNamespace="standard",
!
!ResponseElementName="standardResponse",
! Use=SoapBindingUse.Literal)]
! [return: XmlElement("return")]
! public mykey2 standard([XmlElement
!(Type=typeof(messagekey), Namespace="urn:VerifyStatus")]
! messagekey key)
! {
! mykey2 ky = new mykey2();
! ky.partnerKey=key.partnerKey;
! ky.companyKey=key.companyKey;
! ky.dt= DateTime.Now;
! return ky;
! }
! }
!
!
! public class messagekey
! {
! public string partnerKey;
! public string companyKey;
! }
!
! [XmlRoot("return")]
! public class mykey2
! {
! public string partnerKey;
! public string companyKey;
!
! public DateTime dt=DateTime.Now;
! }
!}
!
!
!Calls are made as raw SOAP messages.
!Here is the incoming soap call:
!
!<SOAP-ENV:Envelope
! xmlns:SOAP-
!ENV="http://schemas.xmlsoap.org/soap/envel...
! xmlns:xsi="http://www.w3.org/1999/...inst...
! xmlns:xsd="http://www.w3.org/1999/XMLSc...
! xmlns:xe="urn:embrasure"
! xmlns:xe1="urn:VerifyStatus"
! xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
! >
! <SOAP-ENV:Body>
! <xe1:standard SOAP-
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!/" >
! <xe1:key xsi:type="xe:messagekey">
! <partnerkey
!xsi:type="xsd:string">Embasure</partnerkey>
! <companykey
!xsi:type="xsd:string">PHTRopphile,disney</companykey>
! </xe1:key>
! </xe1:standard>
! </SOAP-ENV:Body>
!</SOAP-ENV:Envelope>
!
!
!I am using SoapScope as a client to the service
!
!THanks for the help
!Dan
!
!
!>-----Original Message-----
!>Hello Daniel,
!>
!>Thanks for posting in the group.
!>
!>After reviewing all all the thread, I summary the
!question as the following:
!>You use SOAP to call a web method in a web service, the
!input parameter
!>messagekey becomes null when transferred into web
!service. However, if in
!>HTTP call, the parameter could be got successfully in web
!method. Please
!>post here if I have misunderstood anything.
!>
!>Could you please send me a small repro sample include web
!service, SOAP
!>client and HTTP client? I will test it on my side to
!reproduce the problem.
!>When debugging, we could use SOAP trace tool to check
!input and output on
!>web service side to see where the error happens. You
!could also use SOAP
!>trace tool at
!>http://msdn.microsoft.com/library/de...
!url=/library/en-us/soap/htm/so
!>ap_overview_5y49.asp.
!>
!>
!>Best regards,
!>Yanhong Huang
!>Microsoft Online Partner Support
!>
!>Get Secure! - www.microsoft.com/security
!>This posting is provided "AS IS" with no warranties, and
!confers no rights.
!>
!>--------------------
!>!Content-Class: urn:content-classes:message
!>!From: "Dan" <daniel_meland@msn.com>
!>!Sender: "Dan" <daniel_meland@msn.com>
!>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
!>!Subject: RE: Complex soap messages with structures
!>!Date: Sun, 31 Aug 2003 06:21:56 -0700
!>!Lines: 252
!>!Message-ID: <070b01c36fc2$d981d910$a101280a@phx.gbl>
!>!MIME-Version: 1.0
!>!Content-Type: text/plain;
!>! charset="iso-8859-1"
!>!Content-Transfer-Encoding: 7bit
!>!X-Newsreader: Microsoft CDO for Windows 2000
!>!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!>!Thread-Index: AcNvwtl/e/n6IATETsKcVR5lW4ZWSg==
!>!Newsgroups:
!microsoft.public.dotnet.framework.aspnet.webservices
!>!Path: cpmsftngxa06.phx.gbl
!>!Xref: cpmsftngxa06.phx.gbl
!>microsoft.public.dotnet.framework.aspnet.webservices:19121
!>!NNTP-Posting-Host: TK2MSFTNGXA09 10.40.1.161
!>!X-Tomcat-NG:
!microsoft.public.dotnet.framework.aspnet.webservices
!>!
!>!
!>!You are correct. but I cant expose the timestamp field.
!>!
!>!The messages work correct if they are sent via http.
!The
!>!problem comes in the SoapRPC message over the wire.
!>!
!>!I used SoapScope to send the raw message and that is
!when
!>!the problem occurs.
!>!
!>!Seems that the messagekeys passed in is always null.
!>!
!>!My system is a win200 with VS.Net 2003.
!>!
!>!I believe the problem is in the formatting.
!>!
!>!Thanks Lewis
!>!
!>!>-----Original Message-----
!>!>Hi Dan,
!>!>
!>!>I created a webservice and used the code you provided.
!>!Everything appears
!>!>to be okay on my machine. My OS is win2000 server and
!is
!>!running VS.NET
!>!>2003.
!>!>
!>!>In the last code snippet of the soap massage, I found
!>!that it should be a
!>!>description of the class keys not the class messagekey.
!>!There are only 2
!>!>public fields for the class messagekey, but the
!following
!>!has 3 public
!>!>fields.
!>!>
!>!><SOAP-ENV:Envelope
!>!>xmlns:SOAP-
!>!ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>xmlns:xsi="http://www.w3.org/1999/...inst...
!>!>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
!>!><SOAP-ENV:Body>
!>!><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>!>SOAP-
!>!
!NV:encodingStyle="http://schemas.xmlsoap.org/soa.../
!>!">
!>!>
!>!> <return xmlns:ns2="urn:mine"
!>!xsi:type="ns2:messagekey"> (It should
!>!>be "keys" not "messagekey".)
!>!>
!>!> <partnerkey xsi:type="xsd:string">PARTNER
!>!KEY</partnerkey>
!>!> <companykey xsi:type="xsd:string">COMPANY
!>!KEY</companykey>
!>!> <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>!HH24:MI:SS </timestamp>
!>!> </return>
!>!> </ns1:standardResponse>
!>!> </SOAP-ENV:Body>
!>!></SOAP-ENV:Envelope>
!>!>
!>!>Based on the current problem description I am still a
!bit
!>!unclear about
!>!>several points. Which version of VS.NET are you using
!to
!>!develop the web
!>!>service? Also, could you please provide me with more
!>!information about what
!>!>it is exactly that you would like to achieve. I am
!>!looking forward to your
!>!>reply.
!>!>
!>!>Best regards,
!>!>Lewis
!>!>
!>!>This posting is provided "AS IS" with no warranties,
!and
!>!confers no rights.
!>!>
!>!>--------------------
!>!>| Content-Class: urn:content-classes:message
!>!>| From: "Dan" <daniel_meland@msn.com>
!>!>| Sender: "Dan" <daniel_meland@msn.com>
!>!>| Subject: Complex soap messages with structures
!>!>| Date: Thu, 28 Aug 2003 09:49:17 -0700
!>!>| Lines: 141
!>!>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!>!>| MIME-Version: 1.0
!>!>| Content-Type: text/plain;
!>!>| charset="iso-8859-1"
!>!>| Content-Transfer-Encoding: 7bit
!>!>| X-Newsreader: Microsoft CDO for Windows 2000
!>!>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
!>!>| X-MimeOLE: Produced By Microsoft MimeOLE
!V5.50.4910.0300
!>!>| Newsgroups:
!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>| Path: cpmsftngxa06.phx.gbl
!>!>| Xref: cpmsftngxa06.phx.gbl
!>!
!>microsoft.public.dotnet.framework.aspnet.webservices:19072
!>!>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
!>!>| X-Tomcat-NG:
!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>|
!>!>| OK, I am having a problem getting the xml to format
!>!for
!>!>| this soap message.
!>!>|
!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>| xmlns:xsi="http://www.w3.org/1999/...
!instance"
!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>| xmlns:xe="urn:mine"
!>!>| xmlns:xe1=" urn:VerifyStatus"
!>!>|
!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>!>| >
!>!>| <SOAP-ENV:Body>
!>!>| <xe1:standard SOAP-
!>!>|
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>| /" >
!>!>| <xe1:key xsi:type="xe:messagekey">
!>!>| <partnerkey
!>!>| xsi:type="xsd:string">someguy</partnerkey>
!>!>| <companykey
!>!>| xsi:type="xsd:string">blah,blah</companykey>
!>!>| </xe1:key>
!>!>| </xe1:standard>
!>!>| </SOAP-ENV:Body>
!>!>| </SOAP-ENV:Envelope>
!>!>|
!>!>| Can anyone help.
!>!>|
!>!>| here is the webmethod:
!>!>|
!>!>| [WebMethod (Description="Validate SOAP
!>!>| server availability and Message Key integrity")]
!>!>| [TraceExtension()]
!>!>| [SoapDocumentMethod
!>!>| ("http://172.17.89.26/stan...,
!>!>|
!>!>| RequestNamespace="http://172.17.89.26/stan...,
!>!>|
!>!>|
!>!ResponseNamespace="http://172.17.89.26/standardResp...,
!>!>| Use=SoapBindingUse.Encoded)
!>!>| ]
!>!>| public keys standard([XmlElement("key")] messagekey
!key)
!>!>| {
!>!>| keys kys = new keys();
!>!>| //Make sure Embrasure is who is calling us
!>!>| if(key.partnerKey.CompareTo("Embrasure") == 0)
!>!>| {
!>!>| // Validate the login and Embrasure
!>!>| string[] ks = getkey(key.partnerKey,
!>!key.companyKey);
!>!>|
!>!>| kys.partnerKey = ks[0];
!>!>| kys.companyKey = ks[1];
!>!>|
!>!>| }
!>!>| return kys;
!>!>|
!>!>| }
!>!>|
!>!>| here is the messagekey class:
!>!>| [XmlRoot("key")]
!>!>| public class messagekey
!>!>| {
!>!>| public string partnerKey="";
!>!>| public string companyKey = "";
!>!>| public messagekey()
!>!>| {
!>!>| }
!>!>| }
!>!>|
!>!>| and the responding keys class
!>!>| [XmlRoot("return")]
!>!>| public class keys
!>!>| {
!>!>| public string partnerKey="";
!>!>| public string companyKey = "";
!>!>| [XmlElement("timestamp")]
!>!>| public DateTime timestamp;
!>!>| public keys()
!>!>| {
!>!>| timestamp=DateTime.Now;
!>!>| }
!>!>|
!>!>| }
!>!>|
!>!>|
!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>| xmlns:xsi="http://www.w3.org/1999/...
!instance"
!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>| xmlns:xe="urn:mine"
!>!>| xmlns:xe1=" urn:VerifyStatus"
!>!>|
!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>!>| >
!>!>| <SOAP-ENV:Body>
!>!>| <xe1:standard SOAP-
!>!>|
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>| /" >
!>!>| <xe1:key xsi:type="xe:messagekey">
!>!>| <partnerkey
!>!>| xsi:type="xsd:string">someguy</partnerkey>
!>!>| <companykey
!>!>| xsi:type="xsd:string">blah,blah</companykey>
!>!>| </xe1:key>
!>!>| </xe1:standard>
!>!>| </SOAP-ENV:Body>
!>!>| </SOAP-ENV:Envelope>
!>!>|
!>!>| the response should look like this.
!>!>| <SOAP-ENV:Envelope
!>!>| xmlns:SOAP-
!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>| xmlns:xsi="http://www.w3.org/1999/...
!instance"
!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>| >
!>!>| <SOAP-ENV:Body>
!>!>| <ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>!>| SOAP-
!>!>|
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>| /">
!>!>| <return xmlns:ns2="urn:mine"
!>!>| xsi:type="ns2:messagekey">
!>!>| <partnerkey xsi:type="xsd:string">PARTNER
!>!>| KEY</partnerkey>
!>!>| <companykey xsi:type="xsd:string">COMPANY
!>!>| KEY</companykey>
!>!>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>!>| HH24:MI:SS </timestamp>
!>!>| </return>
!>!>| </ns1:standardResponse>
!>!>| </SOAP-ENV:Body>
!>!>| </SOAP-ENV:Envelope>
!>!>|
!>!>|
!>!>| I cant get the response nor does the method see the
!>!>| message object being passed in.
!>!>|
!>!>| Does any one have any ideas. I dont want to hack teh
!>!XML
!>!>| stream going out.
!>!>|
!>!>| Thanks
!>!>| Dan
!>!>|
!>!>|
!>!>
!>!>.
!>!>
!>!
!>
!>.
!>
!

Dan

9/5/2003 12:12:00 PM

0

Thank you for your time.

The issue is that my client uses their own client, a java
client, from their web page.

I am running trace extensions on the server and can see
what is happening.

Thier client and the version of soapscope, which has a
trial version for free, does not function.

The messagekey is still empty.

If the call is made so that <xe1:key> is passed as <key>
then I do not receive a server error, and the timestamp is
produced. But the data that is passed in is still empty.

I the deserialize, the xml is populated, but never seen in
the method call downstream.

The Soap trace tool is showing the same thing.

Thank you for you help.
Dan
>-----Original Message-----
>Hello Dan,
>
>Could you please test it in VS.NET? We have no SoapScope
in hand now. I
>just visited their homepage and the software is not free.
>
>When using VS.NET to create a web service client, the
generated proxy class
>has its own namespace associated with it, and you must
add that namespace
>to your client application before you can create an
instance of the proxy
>class. As with any other class, you must first create an
instance of it
>before you can call any of its methods. This process does
not differ at all
>from creating an instance of any other class.
>
>When using a proxy class that Visual Studio generated
directly from the
>service description of an XML Web service, accessing an
XML Web service in
>managed code is a relatively simple process. To access an
XML Web service
>method, your client application invokes either the
corresponding
>synchronous method or asynchronous methods of the proxy
object. These
>methods do the necessary work to remote the call over the
wire to call the
>desired XML Web service method. By default, the proxy
class uses SOAP to
>access the XML Web service method, as SOAP supports the
richest set of data
>types of the three
>
>I suggest you use SOAP trace tool that I mentioned in the
former post to
>trace different SOAP message body in server side to see
the difference.
>
>Thanks very much for your cooperation.
>
>Best regards,
>Yanhong Huang
>Microsoft Online Partner Support
>
>Get Secure! - www.microsoft.com/security
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>
>--------------------
>!Content-Class: urn:content-classes:message
>!From: "Dan" <daniel_meland@msn.com>
>!Sender: "Dan" <daniel_meland@msn.com>
>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
><070b01c36fc2$d981d910$a101280a@phx.gbl>
><4#fwUAgcDHA.1932@cpmsftngxa06.phx.gbl>
>!Subject: RE: Complex soap messages with structures
>!Date: Thu, 4 Sep 2003 09:41:53 -0700
>!Lines: 499
>!Message-ID: <1f4101c37303$727f0910$a401280a@phx.gbl>
>!MIME-Version: 1.0
>!Content-Type: text/plain;
>! charset="iso-8859-1"
>!Content-Transfer-Encoding: 7bit
>!X-Newsreader: Microsoft CDO for Windows 2000
>!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>!Thread-Index: AcNzA3J86GK2LqxES5OqaSQaTLWCbg==
>!Newsgroups:
microsoft.public.dotnet.framework.aspnet.webservices
>!Path: cpmsftngxa06.phx.gbl
>!Xref: cpmsftngxa06.phx.gbl
>microsoft.public.dotnet.framework.aspnet.webservices:19188
>!NNTP-Posting-Host: TK2MSFTNGXA12 10.40.1.164
>!X-Tomcat-NG:
microsoft.public.dotnet.framework.aspnet.webservices
>!
>!Yes that is correct.
>!In HTTP the objet gets there however using the soapscope
>!and sending the raw SOAP message it does not work and is
>!null.
>!
>!Here is the code:
>!
>!?
>!
###########################################################
>!####?
>!
>!SERVICE PART
>!
>!?
>!
###########################################################
>!####?
>!
>!
>!using System;
>!using System.Collections;
>!using System.ComponentModel;
>!using System.Data;
>!using System.Diagnostics;
>!using System.Web;
>!using System.Web.Services;
>!using System.Web.Services.Protocols;
>!using System.Web.Services.Description;
>!using System.Xml;
>!using System.Xml.Serialization;
>!
>!namespace test
>!{
>!
>! /// <summary>
>! /// Summary description for Service1.
>! /// </summary>
>! [WebServiceAttribute(Name="embrasure",
>!Namespace="urn:embrasure")]
>!/* [SoapRpcService(
>!RoutingStyle=SoapServiceRoutingStyle.SoapAction)]*/
>! public class Service1 :
>!System.Web.Services.WebService
>! {
>! public Service1()
>! {
>! //CODEGEN: This call is required
>!by the ASP.NET Web Services Designer
>! InitializeComponent();
>! }
>!
>! #region Component Designer generated code
>!
>! //Required by the Web Services Designer
>! private IContainer components = null;
>!
>! /// <summary>
>! /// Required method for Designer support -
>!do not modify
>! /// the contents of this method with the
>!code editor.
>! /// </summary>
>! private void InitializeComponent()
>! {
>! }
>!
>! /// <summary>
>! /// Clean up any resources being used.
>! /// </summary>
>! protected override void Dispose( bool
>!disposing )
>! {
>! if(disposing && components != null)
>! {
>! components.Dispose();
>! }
>! base.Dispose(disposing);
>!
>! }
>!
>! #endregion
>!
>! // WEB SERVICE EXAMPLE
>! // The HelloWorld() example service
>!returns the string Hello World
>! // To build, uncomment the following lines
>!then save and build the project
>! // To test this web service, press F5
>!
>! [WebMethod]
>! [SoapDocumentMethod("standard",
>!
>!RequestNamespace="urn:VerifyStatus",
>! RequestElementName="standard",
>! ResponseNamespace="standard",
>!
>!ResponseElementName="standardResponse",
>! Use=SoapBindingUse.Literal)]
>! [return: XmlElement("return")]
>! public mykey2 standard([XmlElement
>!(Type=typeof(messagekey), Namespace="urn:VerifyStatus")]
>! messagekey key)
>! {
>! mykey2 ky = new mykey2();
>! ky.partnerKey=key.partnerKey;
>! ky.companyKey=key.companyKey;
>! ky.dt= DateTime.Now;
>! return ky;
>! }
>! }
>!
>!
>! public class messagekey
>! {
>! public string partnerKey;
>! public string companyKey;
>! }
>!
>! [XmlRoot("return")]
>! public class mykey2
>! {
>! public string partnerKey;
>! public string companyKey;
>!
>! public DateTime dt=DateTime.Now;
>! }
>!}
>!
>!
>!Calls are made as raw SOAP messages.
>!Here is the incoming soap call:
>!
>!<SOAP-ENV:Envelope
>! xmlns:SOAP-
>!ENV="http://schemas.xmlsoap.org/soap/envel...
>! xmlns:xsi="http://www.w3.org/1999/...inst...
>! xmlns:xsd="http://www.w3.org/1999/XMLSc...
>! xmlns:xe="urn:embrasure"
>! xmlns:xe1="urn:VerifyStatus"
>! xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
>! >
>! <SOAP-ENV:Body>
>! <xe1:standard SOAP-
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!/" >
>! <xe1:key xsi:type="xe:messagekey">
>! <partnerkey
>!xsi:type="xsd:string">Embasure</partnerkey>
>! <companykey
>!xsi:type="xsd:string">PHTRopphile,disney</companykey>
>! </xe1:key>
>! </xe1:standard>
>! </SOAP-ENV:Body>
>!</SOAP-ENV:Envelope>
>!
>!
>!I am using SoapScope as a client to the service
>!
>!THanks for the help
>!Dan
>!
>!
>!>-----Original Message-----
>!>Hello Daniel,
>!>
>!>Thanks for posting in the group.
>!>
>!>After reviewing all all the thread, I summary the
>!question as the following:
>!>You use SOAP to call a web method in a web service, the
>!input parameter
>!>messagekey becomes null when transferred into web
>!service. However, if in
>!>HTTP call, the parameter could be got successfully in
web
>!method. Please
>!>post here if I have misunderstood anything.
>!>
>!>Could you please send me a small repro sample include
web
>!service, SOAP
>!>client and HTTP client? I will test it on my side to
>!reproduce the problem.
>!>When debugging, we could use SOAP trace tool to check
>!input and output on
>!>web service side to see where the error happens. You
>!could also use SOAP
>!>trace tool at
>!>http://msdn.microsoft.com/library/de...
>!url=/library/en-us/soap/htm/so
>!>ap_overview_5y49.asp.
>!>
>!>
>!>Best regards,
>!>Yanhong Huang
>!>Microsoft Online Partner Support
>!>
>!>Get Secure! - www.microsoft.com/security
>!>This posting is provided "AS IS" with no warranties,
and
>!confers no rights.
>!>
>!>--------------------
>!>!Content-Class: urn:content-classes:message
>!>!From: "Dan" <daniel_meland@msn.com>
>!>!Sender: "Dan" <daniel_meland@msn.com>
>!>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
>!><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
>!>!Subject: RE: Complex soap messages with structures
>!>!Date: Sun, 31 Aug 2003 06:21:56 -0700
>!>!Lines: 252
>!>!Message-ID: <070b01c36fc2$d981d910$a101280a@phx.gbl>
>!>!MIME-Version: 1.0
>!>!Content-Type: text/plain;
>!>! charset="iso-8859-1"
>!>!Content-Transfer-Encoding: 7bit
>!>!X-Newsreader: Microsoft CDO for Windows 2000
>!>!X-MimeOLE: Produced By Microsoft MimeOLE
V5.50.4910.0300
>!>!Thread-Index: AcNvwtl/e/n6IATETsKcVR5lW4ZWSg==
>!>!Newsgroups:
>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!Path: cpmsftngxa06.phx.gbl
>!>!Xref: cpmsftngxa06.phx.gbl
>!
>microsoft.public.dotnet.framework.aspnet.webservices:19121
>!>!NNTP-Posting-Host: TK2MSFTNGXA09 10.40.1.161
>!>!X-Tomcat-NG:
>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!
>!>!
>!>!You are correct. but I cant expose the timestamp
field.
>!>!
>!>!The messages work correct if they are sent via http.
>!The
>!>!problem comes in the SoapRPC message over the wire.
>!>!
>!>!I used SoapScope to send the raw message and that is
>!when
>!>!the problem occurs.
>!>!
>!>!Seems that the messagekeys passed in is always null.
>!>!
>!>!My system is a win200 with VS.Net 2003.
>!>!
>!>!I believe the problem is in the formatting.
>!>!
>!>!Thanks Lewis
>!>!
>!>!>-----Original Message-----
>!>!>Hi Dan,
>!>!>
>!>!>I created a webservice and used the code you
provided.
>!>!Everything appears
>!>!>to be okay on my machine. My OS is win2000 server and
>!is
>!>!running VS.NET
>!>!>2003.
>!>!>
>!>!>In the last code snippet of the soap massage, I found
>!>!that it should be a
>!>!>description of the class keys not the class
messagekey.
>!>!There are only 2
>!>!>public fields for the class messagekey, but the
>!following
>!>!has 3 public
>!>!>fields.
>!>!>
>!>!><SOAP-ENV:Envelope
>!>!>xmlns:SOAP-
>!>!ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>xmlns:xsi="http://www.w3.org/1999/...inst...
>!>!>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
>!>!><SOAP-ENV:Body>
>!>!><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
>!>!>SOAP-
>!>!
>!
NV:encodingStyle="http://schemas.xmlsoap.org/soa.../
>!>!">
>!>!>
>!>!> <return xmlns:ns2="urn:mine"
>!>!xsi:type="ns2:messagekey"> (It should
>!>!>be "keys" not "messagekey".)
>!>!>
>!>!> <partnerkey xsi:type="xsd:string">PARTNER
>!>!KEY</partnerkey>
>!>!> <companykey xsi:type="xsd:string">COMPANY
>!>!KEY</companykey>
>!>!> <timestamp xsi:type="xsd:date">YYYY-MM-DD
>!>!HH24:MI:SS </timestamp>
>!>!> </return>
>!>!> </ns1:standardResponse>
>!>!> </SOAP-ENV:Body>
>!>!></SOAP-ENV:Envelope>
>!>!>
>!>!>Based on the current problem description I am still a
>!bit
>!>!unclear about
>!>!>several points. Which version of VS.NET are you
using
>!to
>!>!develop the web
>!>!>service? Also, could you please provide me with more
>!>!information about what
>!>!>it is exactly that you would like to achieve. I am
>!>!looking forward to your
>!>!>reply.
>!>!>
>!>!>Best regards,
>!>!>Lewis
>!>!>
>!>!>This posting is provided "AS IS" with no warranties,
>!and
>!>!confers no rights.
>!>!>
>!>!>--------------------
>!>!>| Content-Class: urn:content-classes:message
>!>!>| From: "Dan" <daniel_meland@msn.com>
>!>!>| Sender: "Dan" <daniel_meland@msn.com>
>!>!>| Subject: Complex soap messages with structures
>!>!>| Date: Thu, 28 Aug 2003 09:49:17 -0700
>!>!>| Lines: 141
>!>!>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
>!>!>| MIME-Version: 1.0
>!>!>| Content-Type: text/plain;
>!>!>| charset="iso-8859-1"
>!>!>| Content-Transfer-Encoding: 7bit
>!>!>| X-Newsreader: Microsoft CDO for Windows 2000
>!>!>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
>!>!>| X-MimeOLE: Produced By Microsoft MimeOLE
>!V5.50.4910.0300
>!>!>| Newsgroups:
>!>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!>| Path: cpmsftngxa06.phx.gbl
>!>!>| Xref: cpmsftngxa06.phx.gbl
>!>!
>!
>microsoft.public.dotnet.framework.aspnet.webservices:19072
>!>!>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
>!>!>| X-Tomcat-NG:
>!>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!>|
>!>!>| OK, I am having a problem getting the xml to
format
>!>!for
>!>!>| this soap message.
>!>!>|
>!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>| xmlns:xsi="http://www.w3.org/1999/...
>!instance"
>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>!>!>| xmlns:xe="urn:mine"
>!>!>| xmlns:xe1=" urn:VerifyStatus"
>!>!>|
>!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
>!>!>| >
>!>!>| <SOAP-ENV:Body>
>!>!>| <xe1:standard SOAP-
>!>!>|
>!>!
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!>!>| /" >
>!>!>| <xe1:key xsi:type="xe:messagekey">
>!>!>| <partnerkey
>!>!>| xsi:type="xsd:string">someguy</partnerkey>
>!>!>| <companykey
>!>!>| xsi:type="xsd:string">blah,blah</companykey>
>!>!>| </xe1:key>
>!>!>| </xe1:standard>
>!>!>| </SOAP-ENV:Body>
>!>!>| </SOAP-ENV:Envelope>
>!>!>|
>!>!>| Can anyone help.
>!>!>|
>!>!>| here is the webmethod:
>!>!>|
>!>!>| [WebMethod (Description="Validate SOAP
>!>!>| server availability and Message Key integrity")]
>!>!>| [TraceExtension()]
>!>!>| [SoapDocumentMethod
>!>!>| ("http://172.17.89.26/stan...,
>!>!>|
>!>!>| RequestNamespace="http://172.17.89.26/stan...,
>!>!>|
>!>!>|
>!>!
ResponseNamespace="http://172.17.89.26/standardResp...,
>!>!>| Use=SoapBindingUse.Encoded)
>!>!>| ]
>!>!>| public keys standard([XmlElement("key")] messagekey
>!key)
>!>!>| {
>!>!>| keys kys = new keys();
>!>!>| //Make sure Embrasure is who is calling us
>!>!>| if(key.partnerKey.CompareTo("Embrasure") == 0)
>!>!>| {
>!>!>| // Validate the login and Embrasure
>!>!>| string[] ks = getkey(key.partnerKey,
>!>!key.companyKey);
>!>!>|
>!>!>| kys.partnerKey = ks[0];
>!>!>| kys.companyKey = ks[1];
>!>!>|
>!>!>| }
>!>!>| return kys;
>!>!>|
>!>!>| }
>!>!>|
>!>!>| here is the messagekey class:
>!>!>| [XmlRoot("key")]
>!>!>| public class messagekey
>!>!>| {
>!>!>| public string partnerKey="";
>!>!>| public string companyKey = "";
>!>!>| public messagekey()
>!>!>| {
>!>!>| }
>!>!>| }
>!>!>|
>!>!>| and the responding keys class
>!>!>| [XmlRoot("return")]
>!>!>| public class keys
>!>!>| {
>!>!>| public string partnerKey="";
>!>!>| public string companyKey = "";
>!>!>| [XmlElement("timestamp")]
>!>!>| public DateTime timestamp;
>!>!>| public keys()
>!>!>| {
>!>!>| timestamp=DateTime.Now;
>!>!>| }
>!>!>|
>!>!>| }
>!>!>|
>!>!>|
>!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>| xmlns:xsi="http://www.w3.org/1999/...
>!instance"
>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>!>!>| xmlns:xe="urn:mine"
>!>!>| xmlns:xe1=" urn:VerifyStatus"
>!>!>|
>!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
>!>!>| >
>!>!>| <SOAP-ENV:Body>
>!>!>| <xe1:standard SOAP-
>!>!>|
>!>!
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!>!>| /" >
>!>!>| <xe1:key xsi:type="xe:messagekey">
>!>!>| <partnerkey
>!>!>| xsi:type="xsd:string">someguy</partnerkey>
>!>!>| <companykey
>!>!>| xsi:type="xsd:string">blah,blah</companykey>
>!>!>| </xe1:key>
>!>!>| </xe1:standard>
>!>!>| </SOAP-ENV:Body>
>!>!>| </SOAP-ENV:Envelope>
>!>!>|
>!>!>| the response should look like this.
>!>!>| <SOAP-ENV:Envelope
>!>!>| xmlns:SOAP-
>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>| xmlns:xsi="http://www.w3.org/1999/...
>!instance"
>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>!>!>| >
>!>!>| <SOAP-ENV:Body>
>!>!>| <ns1:standardResponse
xmlns:ns1="urn:VerifyStatus"
>!>!>| SOAP-
>!>!>|
>!>!
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!>!>| /">
>!>!>| <return xmlns:ns2="urn:mine"
>!>!>| xsi:type="ns2:messagekey">
>!>!>| <partnerkey xsi:type="xsd:string">PARTNER
>!>!>| KEY</partnerkey>
>!>!>| <companykey xsi:type="xsd:string">COMPANY
>!>!>| KEY</companykey>
>!>!>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
>!>!>| HH24:MI:SS </timestamp>
>!>!>| </return>
>!>!>| </ns1:standardResponse>
>!>!>| </SOAP-ENV:Body>
>!>!>| </SOAP-ENV:Envelope>
>!>!>|
>!>!>|
>!>!>| I cant get the response nor does the method see the
>!>!>| message object being passed in.
>!>!>|
>!>!>| Does any one have any ideas. I dont want to hack
teh
>!>!XML
>!>!>| stream going out.
>!>!>|
>!>!>| Thanks
>!>!>| Dan
>!>!>|
>!>!>|
>!>!>
>!>!>.
>!>!>
>!>!
>!>
>!>.
>!>
>!
>
>.
>

Dan

9/8/2003 3:55:00 PM

0

I finally got it.

I was in the way the namespaces were laying out.

A little song and dance with the XmlElementAttributes and
XmlRootAttribute fixed it up.

Thanks for all the help
Dan

>-----Original Message-----
>Hi Daniel,
>
>I tested my client in VS.NET and it works fine.
>
>Here is the soap request that I got from trace tool:
>
> <?xml version="1.0" encoding="utf-8" ?>
>- <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envel...
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
>xmlns:xsd="http://www.w3.org/2001/XMLSchema...
>- <soap:Body>
>- <standard xmlns="urn:VerifyStatus">
>- <key>
> <partnerKey>testPartner</partnerKey>
> <companyKey>testCompany</companyKey>
> </key>
> </standard>
> </soap:Body>
> </soap:Envelope>
>
>SOAP response:
>
> <?xml version="1.0" encoding="utf-8" ?>
>- <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envel...
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
>xmlns:xsd="http://www.w3.org/2001/XMLSchema...
>- <soap:Body>
>- <standardResponse xmlns="standard">
>- <return>
> <partnerKey>testPartner</partnerKey>
> <companyKey>testCompany</companyKey>
> <dt>2003-09-05T17:57:15.5403220+08:00</dt>
> </return>
> </standardResponse>
> </soap:Body>
> </soap:Envelope>
>
>Hope that helps.
>
>Best regards,
>Yanhong Huang
>Microsoft Online Partner Support
>
>Get Secure! - www.microsoft.com/security
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>
>--------------------
>!Content-Class: urn:content-classes:message
>!From: "Dan" <daniel_meland@msn.com>
>!Sender: "Dan" <daniel_meland@msn.com>
>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
><070b01c36fc2$d981d910$a101280a@phx.gbl>
><4#fwUAgcDHA.1932@cpmsftngxa06.phx.gbl>
>!Subject: RE: Complex soap messages with structures
>!Date: Thu, 4 Sep 2003 09:41:53 -0700
>!Lines: 499
>!Message-ID: <1f4101c37303$727f0910$a401280a@phx.gbl>
>!MIME-Version: 1.0
>!Content-Type: text/plain;
>! charset="iso-8859-1"
>!Content-Transfer-Encoding: 7bit
>!X-Newsreader: Microsoft CDO for Windows 2000
>!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>!Thread-Index: AcNzA3J86GK2LqxES5OqaSQaTLWCbg==
>!Newsgroups:
microsoft.public.dotnet.framework.aspnet.webservices
>!Path: cpmsftngxa06.phx.gbl
>!Xref: cpmsftngxa06.phx.gbl
>microsoft.public.dotnet.framework.aspnet.webservices:19188
>!NNTP-Posting-Host: TK2MSFTNGXA12 10.40.1.164
>!X-Tomcat-NG:
microsoft.public.dotnet.framework.aspnet.webservices
>!
>!Yes that is correct.
>!In HTTP the objet gets there however using the soapscope
>!and sending the raw SOAP message it does not work and is
>!null.
>!
>!Here is the code:
>!
>!?
>!
###########################################################
>!####?
>!
>!SERVICE PART
>!
>!?
>!
###########################################################
>!####?
>!
>!
>!using System;
>!using System.Collections;
>!using System.ComponentModel;
>!using System.Data;
>!using System.Diagnostics;
>!using System.Web;
>!using System.Web.Services;
>!using System.Web.Services.Protocols;
>!using System.Web.Services.Description;
>!using System.Xml;
>!using System.Xml.Serialization;
>!
>!namespace test
>!{
>!
>! /// <summary>
>! /// Summary description for Service1.
>! /// </summary>
>! [WebServiceAttribute(Name="embrasure",
>!Namespace="urn:embrasure")]
>!/* [SoapRpcService(
>!RoutingStyle=SoapServiceRoutingStyle.SoapAction)]*/
>! public class Service1 :
>!System.Web.Services.WebService
>! {
>! public Service1()
>! {
>! //CODEGEN: This call is required
>!by the ASP.NET Web Services Designer
>! InitializeComponent();
>! }
>!
>! #region Component Designer generated code
>!
>! //Required by the Web Services Designer
>! private IContainer components = null;
>!
>! /// <summary>
>! /// Required method for Designer support -
>!do not modify
>! /// the contents of this method with the
>!code editor.
>! /// </summary>
>! private void InitializeComponent()
>! {
>! }
>!
>! /// <summary>
>! /// Clean up any resources being used.
>! /// </summary>
>! protected override void Dispose( bool
>!disposing )
>! {
>! if(disposing && components != null)
>! {
>! components.Dispose();
>! }
>! base.Dispose(disposing);
>!
>! }
>!
>! #endregion
>!
>! // WEB SERVICE EXAMPLE
>! // The HelloWorld() example service
>!returns the string Hello World
>! // To build, uncomment the following lines
>!then save and build the project
>! // To test this web service, press F5
>!
>! [WebMethod]
>! [SoapDocumentMethod("standard",
>!
>!RequestNamespace="urn:VerifyStatus",
>! RequestElementName="standard",
>! ResponseNamespace="standard",
>!
>!ResponseElementName="standardResponse",
>! Use=SoapBindingUse.Literal)]
>! [return: XmlElement("return")]
>! public mykey2 standard([XmlElement
>!(Type=typeof(messagekey), Namespace="urn:VerifyStatus")]
>! messagekey key)
>! {
>! mykey2 ky = new mykey2();
>! ky.partnerKey=key.partnerKey;
>! ky.companyKey=key.companyKey;
>! ky.dt= DateTime.Now;
>! return ky;
>! }
>! }
>!
>!
>! public class messagekey
>! {
>! public string partnerKey;
>! public string companyKey;
>! }
>!
>! [XmlRoot("return")]
>! public class mykey2
>! {
>! public string partnerKey;
>! public string companyKey;
>!
>! public DateTime dt=DateTime.Now;
>! }
>!}
>!
>!
>!Calls are made as raw SOAP messages.
>!Here is the incoming soap call:
>!
>!<SOAP-ENV:Envelope
>! xmlns:SOAP-
>!ENV="http://schemas.xmlsoap.org/soap/envel...
>! xmlns:xsi="http://www.w3.org/1999/...inst...
>! xmlns:xsd="http://www.w3.org/1999/XMLSc...
>! xmlns:xe="urn:embrasure"
>! xmlns:xe1="urn:VerifyStatus"
>! xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
>! >
>! <SOAP-ENV:Body>
>! <xe1:standard SOAP-
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!/" >
>! <xe1:key xsi:type="xe:messagekey">
>! <partnerkey
>!xsi:type="xsd:string">Embasure</partnerkey>
>! <companykey
>!xsi:type="xsd:string">PHTRopphile,disney</companykey>
>! </xe1:key>
>! </xe1:standard>
>! </SOAP-ENV:Body>
>!</SOAP-ENV:Envelope>
>!
>!
>!I am using SoapScope as a client to the service
>!
>!THanks for the help
>!Dan
>!
>!
>!>-----Original Message-----
>!>Hello Daniel,
>!>
>!>Thanks for posting in the group.
>!>
>!>After reviewing all all the thread, I summary the
>!question as the following:
>!>You use SOAP to call a web method in a web service, the
>!input parameter
>!>messagekey becomes null when transferred into web
>!service. However, if in
>!>HTTP call, the parameter could be got successfully in
web
>!method. Please
>!>post here if I have misunderstood anything.
>!>
>!>Could you please send me a small repro sample include
web
>!service, SOAP
>!>client and HTTP client? I will test it on my side to
>!reproduce the problem.
>!>When debugging, we could use SOAP trace tool to check
>!input and output on
>!>web service side to see where the error happens. You
>!could also use SOAP
>!>trace tool at
>!>http://msdn.microsoft.com/library/de...
>!url=/library/en-us/soap/htm/so
>!>ap_overview_5y49.asp.
>!>
>!>
>!>Best regards,
>!>Yanhong Huang
>!>Microsoft Online Partner Support
>!>
>!>Get Secure! - www.microsoft.com/security
>!>This posting is provided "AS IS" with no warranties,
and
>!confers no rights.
>!>
>!>--------------------
>!>!Content-Class: urn:content-classes:message
>!>!From: "Dan" <daniel_meland@msn.com>
>!>!Sender: "Dan" <daniel_meland@msn.com>
>!>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
>!><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
>!>!Subject: RE: Complex soap messages with structures
>!>!Date: Sun, 31 Aug 2003 06:21:56 -0700
>!>!Lines: 252
>!>!Message-ID: <070b01c36fc2$d981d910$a101280a@phx.gbl>
>!>!MIME-Version: 1.0
>!>!Content-Type: text/plain;
>!>! charset="iso-8859-1"
>!>!Content-Transfer-Encoding: 7bit
>!>!X-Newsreader: Microsoft CDO for Windows 2000
>!>!X-MimeOLE: Produced By Microsoft MimeOLE
V5.50.4910.0300
>!>!Thread-Index: AcNvwtl/e/n6IATETsKcVR5lW4ZWSg==
>!>!Newsgroups:
>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!Path: cpmsftngxa06.phx.gbl
>!>!Xref: cpmsftngxa06.phx.gbl
>!
>microsoft.public.dotnet.framework.aspnet.webservices:19121
>!>!NNTP-Posting-Host: TK2MSFTNGXA09 10.40.1.161
>!>!X-Tomcat-NG:
>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!
>!>!
>!>!You are correct. but I cant expose the timestamp
field.
>!>!
>!>!The messages work correct if they are sent via http.
>!The
>!>!problem comes in the SoapRPC message over the wire.
>!>!
>!>!I used SoapScope to send the raw message and that is
>!when
>!>!the problem occurs.
>!>!
>!>!Seems that the messagekeys passed in is always null.
>!>!
>!>!My system is a win200 with VS.Net 2003.
>!>!
>!>!I believe the problem is in the formatting.
>!>!
>!>!Thanks Lewis
>!>!
>!>!>-----Original Message-----
>!>!>Hi Dan,
>!>!>
>!>!>I created a webservice and used the code you
provided.
>!>!Everything appears
>!>!>to be okay on my machine. My OS is win2000 server and
>!is
>!>!running VS.NET
>!>!>2003.
>!>!>
>!>!>In the last code snippet of the soap massage, I found
>!>!that it should be a
>!>!>description of the class keys not the class
messagekey.
>!>!There are only 2
>!>!>public fields for the class messagekey, but the
>!following
>!>!has 3 public
>!>!>fields.
>!>!>
>!>!><SOAP-ENV:Envelope
>!>!>xmlns:SOAP-
>!>!ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>xmlns:xsi="http://www.w3.org/1999/...inst...
>!>!>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
>!>!><SOAP-ENV:Body>
>!>!><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
>!>!>SOAP-
>!>!
>!
NV:encodingStyle="http://schemas.xmlsoap.org/soa.../
>!>!">
>!>!>
>!>!> <return xmlns:ns2="urn:mine"
>!>!xsi:type="ns2:messagekey"> (It should
>!>!>be "keys" not "messagekey".)
>!>!>
>!>!> <partnerkey xsi:type="xsd:string">PARTNER
>!>!KEY</partnerkey>
>!>!> <companykey xsi:type="xsd:string">COMPANY
>!>!KEY</companykey>
>!>!> <timestamp xsi:type="xsd:date">YYYY-MM-DD
>!>!HH24:MI:SS </timestamp>
>!>!> </return>
>!>!> </ns1:standardResponse>
>!>!> </SOAP-ENV:Body>
>!>!></SOAP-ENV:Envelope>
>!>!>
>!>!>Based on the current problem description I am still a
>!bit
>!>!unclear about
>!>!>several points. Which version of VS.NET are you
using
>!to
>!>!develop the web
>!>!>service? Also, could you please provide me with more
>!>!information about what
>!>!>it is exactly that you would like to achieve. I am
>!>!looking forward to your
>!>!>reply.
>!>!>
>!>!>Best regards,
>!>!>Lewis
>!>!>
>!>!>This posting is provided "AS IS" with no warranties,
>!and
>!>!confers no rights.
>!>!>
>!>!>--------------------
>!>!>| Content-Class: urn:content-classes:message
>!>!>| From: "Dan" <daniel_meland@msn.com>
>!>!>| Sender: "Dan" <daniel_meland@msn.com>
>!>!>| Subject: Complex soap messages with structures
>!>!>| Date: Thu, 28 Aug 2003 09:49:17 -0700
>!>!>| Lines: 141
>!>!>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
>!>!>| MIME-Version: 1.0
>!>!>| Content-Type: text/plain;
>!>!>| charset="iso-8859-1"
>!>!>| Content-Transfer-Encoding: 7bit
>!>!>| X-Newsreader: Microsoft CDO for Windows 2000
>!>!>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
>!>!>| X-MimeOLE: Produced By Microsoft MimeOLE
>!V5.50.4910.0300
>!>!>| Newsgroups:
>!>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!>| Path: cpmsftngxa06.phx.gbl
>!>!>| Xref: cpmsftngxa06.phx.gbl
>!>!
>!
>microsoft.public.dotnet.framework.aspnet.webservices:19072
>!>!>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
>!>!>| X-Tomcat-NG:
>!>!microsoft.public.dotnet.framework.aspnet.webservices
>!>!>|
>!>!>| OK, I am having a problem getting the xml to
format
>!>!for
>!>!>| this soap message.
>!>!>|
>!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>| xmlns:xsi="http://www.w3.org/1999/...
>!instance"
>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>!>!>| xmlns:xe="urn:mine"
>!>!>| xmlns:xe1=" urn:VerifyStatus"
>!>!>|
>!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
>!>!>| >
>!>!>| <SOAP-ENV:Body>
>!>!>| <xe1:standard SOAP-
>!>!>|
>!>!
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!>!>| /" >
>!>!>| <xe1:key xsi:type="xe:messagekey">
>!>!>| <partnerkey
>!>!>| xsi:type="xsd:string">someguy</partnerkey>
>!>!>| <companykey
>!>!>| xsi:type="xsd:string">blah,blah</companykey>
>!>!>| </xe1:key>
>!>!>| </xe1:standard>
>!>!>| </SOAP-ENV:Body>
>!>!>| </SOAP-ENV:Envelope>
>!>!>|
>!>!>| Can anyone help.
>!>!>|
>!>!>| here is the webmethod:
>!>!>|
>!>!>| [WebMethod (Description="Validate SOAP
>!>!>| server availability and Message Key integrity")]
>!>!>| [TraceExtension()]
>!>!>| [SoapDocumentMethod
>!>!>| ("http://172.17.89.26/stan...,
>!>!>|
>!>!>| RequestNamespace="http://172.17.89.26/stan...,
>!>!>|
>!>!>|
>!>!
ResponseNamespace="http://172.17.89.26/standardResp...,
>!>!>| Use=SoapBindingUse.Encoded)
>!>!>| ]
>!>!>| public keys standard([XmlElement("key")] messagekey
>!key)
>!>!>| {
>!>!>| keys kys = new keys();
>!>!>| //Make sure Embrasure is who is calling us
>!>!>| if(key.partnerKey.CompareTo("Embrasure") == 0)
>!>!>| {
>!>!>| // Validate the login and Embrasure
>!>!>| string[] ks = getkey(key.partnerKey,
>!>!key.companyKey);
>!>!>|
>!>!>| kys.partnerKey = ks[0];
>!>!>| kys.companyKey = ks[1];
>!>!>|
>!>!>| }
>!>!>| return kys;
>!>!>|
>!>!>| }
>!>!>|
>!>!>| here is the messagekey class:
>!>!>| [XmlRoot("key")]
>!>!>| public class messagekey
>!>!>| {
>!>!>| public string partnerKey="";
>!>!>| public string companyKey = "";
>!>!>| public messagekey()
>!>!>| {
>!>!>| }
>!>!>| }
>!>!>|
>!>!>| and the responding keys class
>!>!>| [XmlRoot("return")]
>!>!>| public class keys
>!>!>| {
>!>!>| public string partnerKey="";
>!>!>| public string companyKey = "";
>!>!>| [XmlElement("timestamp")]
>!>!>| public DateTime timestamp;
>!>!>| public keys()
>!>!>| {
>!>!>| timestamp=DateTime.Now;
>!>!>| }
>!>!>|
>!>!>| }
>!>!>|
>!>!>|
>!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>| xmlns:xsi="http://www.w3.org/1999/...
>!instance"
>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>!>!>| xmlns:xe="urn:mine"
>!>!>| xmlns:xe1=" urn:VerifyStatus"
>!>!>|
>!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
>!>!>| >
>!>!>| <SOAP-ENV:Body>
>!>!>| <xe1:standard SOAP-
>!>!>|
>!>!
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!>!>| /" >
>!>!>| <xe1:key xsi:type="xe:messagekey">
>!>!>| <partnerkey
>!>!>| xsi:type="xsd:string">someguy</partnerkey>
>!>!>| <companykey
>!>!>| xsi:type="xsd:string">blah,blah</companykey>
>!>!>| </xe1:key>
>!>!>| </xe1:standard>
>!>!>| </SOAP-ENV:Body>
>!>!>| </SOAP-ENV:Envelope>
>!>!>|
>!>!>| the response should look like this.
>!>!>| <SOAP-ENV:Envelope
>!>!>| xmlns:SOAP-
>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
>!>!>| xmlns:xsi="http://www.w3.org/1999/...
>!instance"
>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
>!>!>| >
>!>!>| <SOAP-ENV:Body>
>!>!>| <ns1:standardResponse
xmlns:ns1="urn:VerifyStatus"
>!>!>| SOAP-
>!>!>|
>!>!
>!
ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
>!>!>| /">
>!>!>| <return xmlns:ns2="urn:mine"
>!>!>| xsi:type="ns2:messagekey">
>!>!>| <partnerkey xsi:type="xsd:string">PARTNER
>!>!>| KEY</partnerkey>
>!>!>| <companykey xsi:type="xsd:string">COMPANY
>!>!>| KEY</companykey>
>!>!>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
>!>!>| HH24:MI:SS </timestamp>
>!>!>| </return>
>!>!>| </ns1:standardResponse>
>!>!>| </SOAP-ENV:Body>
>!>!>| </SOAP-ENV:Envelope>
>!>!>|
>!>!>|
>!>!>| I cant get the response nor does the method see the
>!>!>| message object being passed in.
>!>!>|
>!>!>| Does any one have any ideas. I dont want to hack
teh
>!>!XML
>!>!>| stream going out.
>!>!>|
>!>!>| Thanks
>!>!>| Dan
>!>!>|
>!>!>|
>!>!>
>!>!>.
>!>!>
>!>!
>!>
>!>.
>!>
>!
>
>.
>

yhhuang

9/9/2003 8:41:00 AM

0

Hello Daniel,

I am glad to hear it. It is my pleasure to be of assistance.

Thanks for participating the community. :)

Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
!Content-Class: urn:content-classes:message
!From: "Dan" <daniel_meland@msn.com>
!Sender: "Dan" <daniel_meland@msn.com>
!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
<oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
<070b01c36fc2$d981d910$a101280a@phx.gbl>
<4#fwUAgcDHA.1932@cpmsftngxa06.phx.gbl>
<1f4101c37303$727f0910$a401280a@phx.gbl>
<kFd3AS5cDHA.2104@cpmsftngxa06.phx.gbl>
!Subject: RE: Complex soap messages with structures
!Date: Mon, 8 Sep 2003 08:54:57 -0700
!Lines: 612
!Message-ID: <493f01c37621$8d6e24b0$a401280a@phx.gbl>
!MIME-Version: 1.0
!Content-Type: text/plain;
! charset="iso-8859-1"
!Content-Transfer-Encoding: 7bit
!X-Newsreader: Microsoft CDO for Windows 2000
!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!Thread-Index: AcN2IY1uMLVGagotTB22TS9vGkTpPQ==
!Newsgroups: microsoft.public.dotnet.framework.aspnet.webservices
!Path: cpmsftngxa06.phx.gbl
!Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.aspnet.webservices:19257
!NNTP-Posting-Host: TK2MSFTNGXA12 10.40.1.164
!X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webservices
!
!I finally got it.
!
!I was in the way the namespaces were laying out.
!
!A little song and dance with the XmlElementAttributes and
!XmlRootAttribute fixed it up.
!
!Thanks for all the help
!Dan
!
!>-----Original Message-----
!>Hi Daniel,
!>
!>I tested my client in VS.NET and it works fine.
!>
!>Here is the soap request that I got from trace tool:
!>
!> <?xml version="1.0" encoding="utf-8" ?>
!>- <soap:Envelope
!xmlns:soap="http://schemas.xmlsoap.org/soap/envel...
!>xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
!>xmlns:xsd="http://www.w3.org/2001/XMLSchema...
!>- <soap:Body>
!>- <standard xmlns="urn:VerifyStatus">
!>- <key>
!> <partnerKey>testPartner</partnerKey>
!> <companyKey>testCompany</companyKey>
!> </key>
!> </standard>
!> </soap:Body>
!> </soap:Envelope>
!>
!>SOAP response:
!>
!> <?xml version="1.0" encoding="utf-8" ?>
!>- <soap:Envelope
!xmlns:soap="http://schemas.xmlsoap.org/soap/envel...
!>xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...
!>xmlns:xsd="http://www.w3.org/2001/XMLSchema...
!>- <soap:Body>
!>- <standardResponse xmlns="standard">
!>- <return>
!> <partnerKey>testPartner</partnerKey>
!> <companyKey>testCompany</companyKey>
!> <dt>2003-09-05T17:57:15.5403220+08:00</dt>
!> </return>
!> </standardResponse>
!> </soap:Body>
!> </soap:Envelope>
!>
!>Hope that helps.
!>
!>Best regards,
!>Yanhong Huang
!>Microsoft Online Partner Support
!>
!>Get Secure! - www.microsoft.com/security
!>This posting is provided "AS IS" with no warranties, and
!confers no rights.
!>
!>--------------------
!>!Content-Class: urn:content-classes:message
!>!From: "Dan" <daniel_meland@msn.com>
!>!Sender: "Dan" <daniel_meland@msn.com>
!>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
!><070b01c36fc2$d981d910$a101280a@phx.gbl>
!><4#fwUAgcDHA.1932@cpmsftngxa06.phx.gbl>
!>!Subject: RE: Complex soap messages with structures
!>!Date: Thu, 4 Sep 2003 09:41:53 -0700
!>!Lines: 499
!>!Message-ID: <1f4101c37303$727f0910$a401280a@phx.gbl>
!>!MIME-Version: 1.0
!>!Content-Type: text/plain;
!>! charset="iso-8859-1"
!>!Content-Transfer-Encoding: 7bit
!>!X-Newsreader: Microsoft CDO for Windows 2000
!>!X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
!>!Thread-Index: AcNzA3J86GK2LqxES5OqaSQaTLWCbg==
!>!Newsgroups:
!microsoft.public.dotnet.framework.aspnet.webservices
!>!Path: cpmsftngxa06.phx.gbl
!>!Xref: cpmsftngxa06.phx.gbl
!>microsoft.public.dotnet.framework.aspnet.webservices:19188
!>!NNTP-Posting-Host: TK2MSFTNGXA12 10.40.1.164
!>!X-Tomcat-NG:
!microsoft.public.dotnet.framework.aspnet.webservices
!>!
!>!Yes that is correct.
!>!In HTTP the objet gets there however using the soapscope
!>!and sending the raw SOAP message it does not work and is
!>!null.
!>!
!>!Here is the code:
!>!
!>!?
!>!
!###########################################################
!>!####?
!>!
!>!SERVICE PART
!>!
!>!?
!>!
!###########################################################
!>!####?
!>!
!>!
!>!using System;
!>!using System.Collections;
!>!using System.ComponentModel;
!>!using System.Data;
!>!using System.Diagnostics;
!>!using System.Web;
!>!using System.Web.Services;
!>!using System.Web.Services.Protocols;
!>!using System.Web.Services.Description;
!>!using System.Xml;
!>!using System.Xml.Serialization;
!>!
!>!namespace test
!>!{
!>!
!>! /// <summary>
!>! /// Summary description for Service1.
!>! /// </summary>
!>! [WebServiceAttribute(Name="embrasure",
!>!Namespace="urn:embrasure")]
!>!/* [SoapRpcService(
!>!RoutingStyle=SoapServiceRoutingStyle.SoapAction)]*/
!>! public class Service1 :
!>!System.Web.Services.WebService
!>! {
!>! public Service1()
!>! {
!>! //CODEGEN: This call is required
!>!by the ASP.NET Web Services Designer
!>! InitializeComponent();
!>! }
!>!
!>! #region Component Designer generated code
!>!
!>! //Required by the Web Services Designer
!>! private IContainer components = null;
!>!
!>! /// <summary>
!>! /// Required method for Designer support -
!>!do not modify
!>! /// the contents of this method with the
!>!code editor.
!>! /// </summary>
!>! private void InitializeComponent()
!>! {
!>! }
!>!
!>! /// <summary>
!>! /// Clean up any resources being used.
!>! /// </summary>
!>! protected override void Dispose( bool
!>!disposing )
!>! {
!>! if(disposing && components != null)
!>! {
!>! components.Dispose();
!>! }
!>! base.Dispose(disposing);
!>!
!>! }
!>!
!>! #endregion
!>!
!>! // WEB SERVICE EXAMPLE
!>! // The HelloWorld() example service
!>!returns the string Hello World
!>! // To build, uncomment the following lines
!>!then save and build the project
!>! // To test this web service, press F5
!>!
!>! [WebMethod]
!>! [SoapDocumentMethod("standard",
!>!
!>!RequestNamespace="urn:VerifyStatus",
!>! RequestElementName="standard",
!>! ResponseNamespace="standard",
!>!
!>!ResponseElementName="standardResponse",
!>! Use=SoapBindingUse.Literal)]
!>! [return: XmlElement("return")]
!>! public mykey2 standard([XmlElement
!>!(Type=typeof(messagekey), Namespace="urn:VerifyStatus")]
!>! messagekey key)
!>! {
!>! mykey2 ky = new mykey2();
!>! ky.partnerKey=key.partnerKey;
!>! ky.companyKey=key.companyKey;
!>! ky.dt= DateTime.Now;
!>! return ky;
!>! }
!>! }
!>!
!>!
!>! public class messagekey
!>! {
!>! public string partnerKey;
!>! public string companyKey;
!>! }
!>!
!>! [XmlRoot("return")]
!>! public class mykey2
!>! {
!>! public string partnerKey;
!>! public string companyKey;
!>!
!>! public DateTime dt=DateTime.Now;
!>! }
!>!}
!>!
!>!
!>!Calls are made as raw SOAP messages.
!>!Here is the incoming soap call:
!>!
!>!<SOAP-ENV:Envelope
!>! xmlns:SOAP-
!>!ENV="http://schemas.xmlsoap.org/soap/envel...
!>! xmlns:xsi="http://www.w3.org/1999/...inst...
!>! xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>! xmlns:xe="urn:embrasure"
!>! xmlns:xe1="urn:VerifyStatus"
!>! xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>! >
!>! <SOAP-ENV:Body>
!>! <xe1:standard SOAP-
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!/" >
!>! <xe1:key xsi:type="xe:messagekey">
!>! <partnerkey
!>!xsi:type="xsd:string">Embasure</partnerkey>
!>! <companykey
!>!xsi:type="xsd:string">PHTRopphile,disney</companykey>
!>! </xe1:key>
!>! </xe1:standard>
!>! </SOAP-ENV:Body>
!>!</SOAP-ENV:Envelope>
!>!
!>!
!>!I am using SoapScope as a client to the service
!>!
!>!THanks for the help
!>!Dan
!>!
!>!
!>!>-----Original Message-----
!>!>Hello Daniel,
!>!>
!>!>Thanks for posting in the group.
!>!>
!>!>After reviewing all all the thread, I summary the
!>!question as the following:
!>!>You use SOAP to call a web method in a web service, the
!>!input parameter
!>!>messagekey becomes null when transferred into web
!>!service. However, if in
!>!>HTTP call, the parameter could be got successfully in
!web
!>!method. Please
!>!>post here if I have misunderstood anything.
!>!>
!>!>Could you please send me a small repro sample include
!web
!>!service, SOAP
!>!>client and HTTP client? I will test it on my side to
!>!reproduce the problem.
!>!>When debugging, we could use SOAP trace tool to check
!>!input and output on
!>!>web service side to see where the error happens. You
!>!could also use SOAP
!>!>trace tool at
!>!>http://msdn.microsoft.com/library/de...
!>!url=/library/en-us/soap/htm/so
!>!>ap_overview_5y49.asp.
!>!>
!>!>
!>!>Best regards,
!>!>Yanhong Huang
!>!>Microsoft Online Partner Support
!>!>
!>!>Get Secure! - www.microsoft.com/security
!>!>This posting is provided "AS IS" with no warranties,
!and
!>!confers no rights.
!>!>
!>!>--------------------
!>!>!Content-Class: urn:content-classes:message
!>!>!From: "Dan" <daniel_meland@msn.com>
!>!>!Sender: "Dan" <daniel_meland@msn.com>
!>!>!References: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!>!><oy#dkWgbDHA.1628@cpmsftngxa06.phx.gbl>
!>!>!Subject: RE: Complex soap messages with structures
!>!>!Date: Sun, 31 Aug 2003 06:21:56 -0700
!>!>!Lines: 252
!>!>!Message-ID: <070b01c36fc2$d981d910$a101280a@phx.gbl>
!>!>!MIME-Version: 1.0
!>!>!Content-Type: text/plain;
!>!>! charset="iso-8859-1"
!>!>!Content-Transfer-Encoding: 7bit
!>!>!X-Newsreader: Microsoft CDO for Windows 2000
!>!>!X-MimeOLE: Produced By Microsoft MimeOLE
!V5.50.4910.0300
!>!>!Thread-Index: AcNvwtl/e/n6IATETsKcVR5lW4ZWSg==
!>!>!Newsgroups:
!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>!Path: cpmsftngxa06.phx.gbl
!>!>!Xref: cpmsftngxa06.phx.gbl
!>!
!>microsoft.public.dotnet.framework.aspnet.webservices:19121
!>!>!NNTP-Posting-Host: TK2MSFTNGXA09 10.40.1.161
!>!>!X-Tomcat-NG:
!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>!
!>!>!
!>!>!You are correct. but I cant expose the timestamp
!field.
!>!>!
!>!>!The messages work correct if they are sent via http.
!>!The
!>!>!problem comes in the SoapRPC message over the wire.
!>!>!
!>!>!I used SoapScope to send the raw message and that is
!>!when
!>!>!the problem occurs.
!>!>!
!>!>!Seems that the messagekeys passed in is always null.
!>!>!
!>!>!My system is a win200 with VS.Net 2003.
!>!>!
!>!>!I believe the problem is in the formatting.
!>!>!
!>!>!Thanks Lewis
!>!>!
!>!>!>-----Original Message-----
!>!>!>Hi Dan,
!>!>!>
!>!>!>I created a webservice and used the code you
!provided.
!>!>!Everything appears
!>!>!>to be okay on my machine. My OS is win2000 server and
!>!is
!>!>!running VS.NET
!>!>!>2003.
!>!>!>
!>!>!>In the last code snippet of the soap massage, I found
!>!>!that it should be a
!>!>!>description of the class keys not the class
!messagekey.
!>!>!There are only 2
!>!>!>public fields for the class messagekey, but the
!>!following
!>!>!has 3 public
!>!>!>fields.
!>!>!>
!>!>!><SOAP-ENV:Envelope
!>!>!>xmlns:SOAP-
!>!>!ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>!>xmlns:xsi="http://www.w3.org/1999/...inst...
!>!>!>xmlns:xsd="http://www.w3.org/1999/XMLSc... >
!>!>!><SOAP-ENV:Body>
!>!>!><ns1:standardResponse xmlns:ns1="urn:VerifyStatus"
!>!>!>SOAP-
!>!>!
!>!
!NV:encodingStyle="http://schemas.xmlsoap.org/soa.../
!>!>!">
!>!>!>
!>!>!> <return xmlns:ns2="urn:mine"
!>!>!xsi:type="ns2:messagekey"> (It should
!>!>!>be "keys" not "messagekey".)
!>!>!>
!>!>!> <partnerkey xsi:type="xsd:string">PARTNER
!>!>!KEY</partnerkey>
!>!>!> <companykey xsi:type="xsd:string">COMPANY
!>!>!KEY</companykey>
!>!>!> <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>!>!HH24:MI:SS </timestamp>
!>!>!> </return>
!>!>!> </ns1:standardResponse>
!>!>!> </SOAP-ENV:Body>
!>!>!></SOAP-ENV:Envelope>
!>!>!>
!>!>!>Based on the current problem description I am still a
!>!bit
!>!>!unclear about
!>!>!>several points. Which version of VS.NET are you
!using
!>!to
!>!>!develop the web
!>!>!>service? Also, could you please provide me with more
!>!>!information about what
!>!>!>it is exactly that you would like to achieve. I am
!>!>!looking forward to your
!>!>!>reply.
!>!>!>
!>!>!>Best regards,
!>!>!>Lewis
!>!>!>
!>!>!>This posting is provided "AS IS" with no warranties,
!>!and
!>!>!confers no rights.
!>!>!>
!>!>!>--------------------
!>!>!>| Content-Class: urn:content-classes:message
!>!>!>| From: "Dan" <daniel_meland@msn.com>
!>!>!>| Sender: "Dan" <daniel_meland@msn.com>
!>!>!>| Subject: Complex soap messages with structures
!>!>!>| Date: Thu, 28 Aug 2003 09:49:17 -0700
!>!>!>| Lines: 141
!>!>!>| Message-ID: <0e2d01c36d84$51e9e6e0$a601280a@phx.gbl>
!>!>!>| MIME-Version: 1.0
!>!>!>| Content-Type: text/plain;
!>!>!>| charset="iso-8859-1"
!>!>!>| Content-Transfer-Encoding: 7bit
!>!>!>| X-Newsreader: Microsoft CDO for Windows 2000
!>!>!>| Thread-Index: AcNthFHpDxuuN49YRC2pLv5pbuXFRg==
!>!>!>| X-MimeOLE: Produced By Microsoft MimeOLE
!>!V5.50.4910.0300
!>!>!>| Newsgroups:
!>!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>!>| Path: cpmsftngxa06.phx.gbl
!>!>!>| Xref: cpmsftngxa06.phx.gbl
!>!>!
!>!
!>microsoft.public.dotnet.framework.aspnet.webservices:19072
!>!>!>| NNTP-Posting-Host: TK2MSFTNGXA14 10.40.1.166
!>!>!>| X-Tomcat-NG:
!>!>!microsoft.public.dotnet.framework.aspnet.webservices
!>!>!>|
!>!>!>| OK, I am having a problem getting the xml to
!format
!>!>!for
!>!>!>| this soap message.
!>!>!>|
!>!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>!>| xmlns:xsi="http://www.w3.org/1999/...
!>!instance"
!>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>!>| xmlns:xe="urn:mine"
!>!>!>| xmlns:xe1=" urn:VerifyStatus"
!>!>!>|
!>!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>!>!>| >
!>!>!>| <SOAP-ENV:Body>
!>!>!>| <xe1:standard SOAP-
!>!>!>|
!>!>!
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>!>| /" >
!>!>!>| <xe1:key xsi:type="xe:messagekey">
!>!>!>| <partnerkey
!>!>!>| xsi:type="xsd:string">someguy</partnerkey>
!>!>!>| <companykey
!>!>!>| xsi:type="xsd:string">blah,blah</companykey>
!>!>!>| </xe1:key>
!>!>!>| </xe1:standard>
!>!>!>| </SOAP-ENV:Body>
!>!>!>| </SOAP-ENV:Envelope>
!>!>!>|
!>!>!>| Can anyone help.
!>!>!>|
!>!>!>| here is the webmethod:
!>!>!>|
!>!>!>| [WebMethod (Description="Validate SOAP
!>!>!>| server availability and Message Key integrity")]
!>!>!>| [TraceExtension()]
!>!>!>| [SoapDocumentMethod
!>!>!>| ("http://172.17.89.26/stan...,
!>!>!>|
!>!>!>| RequestNamespace="http://172.17.89.26/stan...,
!>!>!>|
!>!>!>|
!>!>!
!ResponseNamespace="http://172.17.89.26/standardResp...,
!>!>!>| Use=SoapBindingUse.Encoded)
!>!>!>| ]
!>!>!>| public keys standard([XmlElement("key")] messagekey
!>!key)
!>!>!>| {
!>!>!>| keys kys = new keys();
!>!>!>| //Make sure Embrasure is who is calling us
!>!>!>| if(key.partnerKey.CompareTo("Embrasure") == 0)
!>!>!>| {
!>!>!>| // Validate the login and Embrasure
!>!>!>| string[] ks = getkey(key.partnerKey,
!>!>!key.companyKey);
!>!>!>|
!>!>!>| kys.partnerKey = ks[0];
!>!>!>| kys.companyKey = ks[1];
!>!>!>|
!>!>!>| }
!>!>!>| return kys;
!>!>!>|
!>!>!>| }
!>!>!>|
!>!>!>| here is the messagekey class:
!>!>!>| [XmlRoot("key")]
!>!>!>| public class messagekey
!>!>!>| {
!>!>!>| public string partnerKey="";
!>!>!>| public string companyKey = "";
!>!>!>| public messagekey()
!>!>!>| {
!>!>!>| }
!>!>!>| }
!>!>!>|
!>!>!>| and the responding keys class
!>!>!>| [XmlRoot("return")]
!>!>!>| public class keys
!>!>!>| {
!>!>!>| public string partnerKey="";
!>!>!>| public string companyKey = "";
!>!>!>| [XmlElement("timestamp")]
!>!>!>| public DateTime timestamp;
!>!>!>| public keys()
!>!>!>| {
!>!>!>| timestamp=DateTime.Now;
!>!>!>| }
!>!>!>|
!>!>!>| }
!>!>!>|
!>!>!>|
!>!>!>| <SOAP-ENV:Envelope xmlns:SOAP-
!>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>!>| xmlns:xsi="http://www.w3.org/1999/...
!>!instance"
!>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>!>| xmlns:xe="urn:mine"
!>!>!>| xmlns:xe1=" urn:VerifyStatus"
!>!>!>|
!>!xmlns:xe2="http://schemas.xmlsoap.org/soap/encod...
!>!>!>| >
!>!>!>| <SOAP-ENV:Body>
!>!>!>| <xe1:standard SOAP-
!>!>!>|
!>!>!
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>!>| /" >
!>!>!>| <xe1:key xsi:type="xe:messagekey">
!>!>!>| <partnerkey
!>!>!>| xsi:type="xsd:string">someguy</partnerkey>
!>!>!>| <companykey
!>!>!>| xsi:type="xsd:string">blah,blah</companykey>
!>!>!>| </xe1:key>
!>!>!>| </xe1:standard>
!>!>!>| </SOAP-ENV:Body>
!>!>!>| </SOAP-ENV:Envelope>
!>!>!>|
!>!>!>| the response should look like this.
!>!>!>| <SOAP-ENV:Envelope
!>!>!>| xmlns:SOAP-
!>!>!>| ENV="http://schemas.xmlsoap.org/soap/envel...
!>!>!>| xmlns:xsi="http://www.w3.org/1999/...
!>!instance"
!>!>!>| xmlns:xsd="http://www.w3.org/1999/XMLSc...
!>!>!>| >
!>!>!>| <SOAP-ENV:Body>
!>!>!>| <ns1:standardResponse
!xmlns:ns1="urn:VerifyStatus"
!>!>!>| SOAP-
!>!>!>|
!>!>!
!>!
!ENV:encodingStyle="http://schemas.xmlsoap.org/soa...
!>!>!>| /">
!>!>!>| <return xmlns:ns2="urn:mine"
!>!>!>| xsi:type="ns2:messagekey">
!>!>!>| <partnerkey xsi:type="xsd:string">PARTNER
!>!>!>| KEY</partnerkey>
!>!>!>| <companykey xsi:type="xsd:string">COMPANY
!>!>!>| KEY</companykey>
!>!>!>| <timestamp xsi:type="xsd:date">YYYY-MM-DD
!>!>!>| HH24:MI:SS </timestamp>
!>!>!>| </return>
!>!>!>| </ns1:standardResponse>
!>!>!>| </SOAP-ENV:Body>
!>!>!>| </SOAP-ENV:Envelope>
!>!>!>|
!>!>!>|
!>!>!>| I cant get the response nor does the method see the
!>!>!>| message object being passed in.
!>!>!>|
!>!>!>| Does any one have any ideas. I dont want to hack
!teh
!>!>!XML
!>!>!>| stream going out.
!>!>!>|
!>!>!>| Thanks
!>!>!>| Dan
!>!>!>|
!>!>!>|
!>!>!>
!>!>!>.
!>!>!>
!>!>!
!>!>
!>!>.
!>!>
!>!
!>
!>.
!>
!