my soap messages to a remote site are failing. as far as i can tell the only
differences between what my SOAP message looks liek and what they want are
in the SOAP envelope
SInce they don't have a wsdl doc i created a localhost site based on their
DTD documetns.
How do I configure my site (and client proxy) to match thier envelope?
Any help would be greatly appreciated
thanks
mr
WHAT THEY WANT
<?xml version="1.0" encoding="UTF-8" ?>
- <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
- <SOAP-ENV:Body>
- <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations"
SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
WHAT I AM SENDING
<?xml version="1.0" encoding="utf-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <orderBatchElement xmlns="http://tempuri.org/">
- <submitOrderBatch CustomerBatchID="58"
xmlns="http://tempuri.org/submitOrderBatch.xs"> 16 3156
i am looking there but so far it is not that helpful in that it assumes that
i have a valid wsdl file.
what i need to know is how to use the formatting using SOAP-ENV: tags
instead of soap:
i am building a localhost version of the website so that i can test and
create the wsdl doc. so i need to know if there are any attributes that i
can use on my test site that will create the wsdl that will be used to
create the proxy to sent soap messages formatted in this way.
thanks
m
"[MSFT]" <lu******@online.microsoft.com> wrote in message
news:EU*************@TK2MSFTNGXA01.phx.gbl... Hello,
Maybe you can try Soap Toolkit 3.0, it will send the soap message like:
SOAP-ENV:Envelope
Here is the link for download it:
http://www.microsoft.com/downloads/d...0DD-CEEC-4088- 9753-86F052EC8450&displaylang=en
Luke
Are you sure that it's the "soap" instead of the "SOAP-ENV" that causes the
problem? After all these are just local namespace prefixes for
"http://schemas.xmlsoap.org/soap/envelope/". As long as this URI is the same
for the prefixes defined it should make no difference.
I expect the problem could be the "submitOrderBatch" node. As "they" define
a NS with xmlns:ns1="urn:OrderOperations" but you define
xmlns="http://tempuri.org/", which is another NS. So "your" node
sumbitOrderBatch is not the submitOrderBatch they expect.
Just a thought...
Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:%2****************@TK2MSFTNGP11.phx.gbl... my soap messages to a remote site are failing. as far as i can tell the only differences between what my SOAP message looks liek and what they want are in the SOAP envelope SInce they don't have a wsdl doc i created a localhost site based on their DTD documetns.
How do I configure my site (and client proxy) to match thier envelope?
Any help would be greatly appreciated thanks mr
WHAT THEY WANT
<?xml version="1.0" encoding="UTF-8" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> - <SOAP-ENV:Body> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
WHAT I AM SENDING <?xml version="1.0" encoding="utf-8" ?> - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <soap:Body> - <orderBatchElement xmlns="http://tempuri.org/"> - <submitOrderBatch CustomerBatchID="58" xmlns="http://tempuri.org/submitOrderBatch.xs">
you are probably right!
i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in my
webmethod? some attribute?
i really appreciate your help on this. i have spent a lot of time and have
gotten nowhere
again thanks
m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl... Are you sure that it's the "soap" instead of the "SOAP-ENV" that causes the problem? After all these are just local namespace prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long as this URI is the same for the prefixes defined it should make no difference.
I expect the problem could be the "submitOrderBatch" node. As "they" define a NS with xmlns:ns1="urn:OrderOperations" but you define xmlns="http://tempuri.org/", which is another NS. So "your" node sumbitOrderBatch is not the submitOrderBatch they expect.
Just a thought... Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... my soap messages to a remote site are failing. as far as i can tell the only differences between what my SOAP message looks liek and what they want are in the SOAP envelope SInce they don't have a wsdl doc i created a localhost site based on their DTD documetns.
How do I configure my site (and client proxy) to match thier envelope?
Any help would be greatly appreciated thanks mr
WHAT THEY WANT
<?xml version="1.0" encoding="UTF-8" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> - <SOAP-ENV:Body> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
WHAT I AM SENDING <?xml version="1.0" encoding="utf-8" ?> - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <soap:Body> - <orderBatchElement xmlns="http://tempuri.org/"> - <submitOrderBatch CustomerBatchID="58" xmlns="http://tempuri.org/submitOrderBatch.xs">
How do you construct your SOAP request and how do you send it? Have you
tried to use no NS at all? It could work, if the submitOrderBatch nodes does
not define any NS at all, but that depends on the WS server. Some WS servers
are a bit strict on the formal format of the SOAP message.
I also don't understand why you have no WSDL. Normaly this is where VS gets
the information about the web service methods, types and namespaces. Did you
try to use the WS-address and append "?WSDL". Some WS then offer the WSDL.
Just try with your web browser and see what happens.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:%2****************@TK2MSFTNGP11.phx.gbl... you are probably right! i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in my webmethod? some attribute? i really appreciate your help on this. i have spent a lot of time and have gotten nowhere again thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@TK2MSFTNGP14.phx.gbl... Are you sure that it's the "soap" instead of the "SOAP-ENV" that causes the problem? After all these are just local namespace prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long as this URI is the same for the prefixes defined it should make no difference.
I expect the problem could be the "submitOrderBatch" node. As "they" define a NS with xmlns:ns1="urn:OrderOperations" but you define xmlns="http://tempuri.org/", which is another NS. So "your" node sumbitOrderBatch is not the submitOrderBatch they expect.
Just a thought... Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... my soap messages to a remote site are failing. as far as i can tell the only differences between what my SOAP message looks liek and what they want are in the SOAP envelope SInce they don't have a wsdl doc i created a localhost site based on their DTD documetns.
How do I configure my site (and client proxy) to match thier envelope?
Any help would be greatly appreciated thanks mr
WHAT THEY WANT
<?xml version="1.0" encoding="UTF-8" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> - <SOAP-ENV:Body> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
WHAT I AM SENDING <?xml version="1.0" encoding="utf-8" ?> - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <soap:Body> - <orderBatchElement xmlns="http://tempuri.org/"> - <submitOrderBatch CustomerBatchID="58" xmlns="http://tempuri.org/submitOrderBatch.xs">
someone mentioned to me that the explanation is that the .NET default is
rpc/encoded while that of apache servers is document/literal (or visa
versa). what attribute do i use when i define my web methods to specify
which format i want.
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... How do you construct your SOAP request and how do you send it? Have you tried to use no NS at all? It could work, if the submitOrderBatch nodes does not define any NS at all, but that depends on the WS server. Some WS servers are a bit strict on the formal format of the SOAP message.
I also don't understand why you have no WSDL. Normaly this is where VS gets the information about the web service methods, types and namespaces. Did you try to use the WS-address and append "?WSDL". Some WS then offer the WSDL. Just try with your web browser and see what happens.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... you are probably right! i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in my webmethod? some attribute? i really appreciate your help on this. i have spent a lot of time and have gotten nowhere again thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@TK2MSFTNGP14.phx.gbl... Are you sure that it's the "soap" instead of the "SOAP-ENV" that causes the problem? After all these are just local namespace prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long as this URI is the same for the prefixes defined it should make no difference.
I expect the problem could be the "submitOrderBatch" node. As "they" define a NS with xmlns:ns1="urn:OrderOperations" but you define xmlns="http://tempuri.org/", which is another NS. So "your" node sumbitOrderBatch is not the submitOrderBatch they expect.
Just a thought... Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... my soap messages to a remote site are failing. as far as i can tell the only differences between what my SOAP message looks liek and what they want are in the SOAP envelope SInce they don't have a wsdl doc i created a localhost site based on their DTD documetns.
How do I configure my site (and client proxy) to match thier envelope?
Any help would be greatly appreciated thanks mr
WHAT THEY WANT
<?xml version="1.0" encoding="UTF-8" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> - <SOAP-ENV:Body> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
WHAT I AM SENDING <?xml version="1.0" encoding="utf-8" ?> - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <soap:Body> - <orderBatchElement xmlns="http://tempuri.org/"> - <submitOrderBatch CustomerBatchID="58" xmlns="http://tempuri.org/submitOrderBatch.xs">
The WS I'm talking to is hosted on an IBM Web application server and the web
server is an Apache server. So I guess my configuration is comparable to
yours.
Again, I don't understand why you have no WSDL. I can access my WSDL using
IE and entering the web service's URL plus appending "?WSDL" at the end,
something like "http://www.somedomain.xxx/Services/SomeService?WSDL". Please
try that before you do anything else.
I added this WSDL-URL as a web reference to a sample VS C# console
application. VS generated everything I need to call the web service. Calling
the WS was as easy as:
// initialize parameters
wsParameter.param1 = SomeValue1;
....
wsParameter.paramX = SomeValueX;
// call web service
wsResult = wsSomeService.SomeMethod(wsParameter);
The classes for wsParameter, wsResult and wsSomeService where generated by
VS based on the WSDL.
BTW, looking into the generated classes I can see that the web method I'm
calling is RPC/encoded:
[System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod",
RequestNamespace="SomeURI", ResponseNamespace="SomeURI")]
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:eN**************@TK2MSFTNGP12.phx.gbl... someone mentioned to me that the explanation is that the .NET default is rpc/encoded while that of apache servers is document/literal (or visa versa). what attribute do i use when i define my web methods to specify which format i want.
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@tk2msftngp13.phx.gbl... How do you construct your SOAP request and how do you send it? Have you tried to use no NS at all? It could work, if the submitOrderBatch nodes does not define any NS at all, but that depends on the WS server. Some WS servers are a bit strict on the formal format of the SOAP message.
I also don't understand why you have no WSDL. Normaly this is where VS gets the information about the web service methods, types and namespaces. Did you try to use the WS-address and append "?WSDL". Some WS then offer the WSDL. Just try with your web browser and see what happens.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... you are probably right! i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in my webmethod? some attribute? i really appreciate your help on this. i have spent a lot of time and have gotten nowhere again thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@TK2MSFTNGP14.phx.gbl... Are you sure that it's the "soap" instead of the "SOAP-ENV" that causes the problem? After all these are just local namespace prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long as this URI is the same for the prefixes defined it should make no difference.
I expect the problem could be the "submitOrderBatch" node. As "they" define a NS with xmlns:ns1="urn:OrderOperations" but you define xmlns="http://tempuri.org/", which is another NS. So "your" node sumbitOrderBatch is not the submitOrderBatch they expect.
Just a thought... Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... > my soap messages to a remote site are failing. as far as i can tell > the only differences between what my SOAP message looks liek and what > they want are in the SOAP envelope > SInce they don't have a wsdl doc i created a localhost site based on > their DTD documetns. > > How do I configure my site (and client proxy) to match thier envelope? > > Any help would be greatly appreciated > thanks > mr > > WHAT THEY WANT > > <?xml version="1.0" encoding="UTF-8" ?> > - <SOAP-ENV:Envelope > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/1999/XMLSchema"> > - <SOAP-ENV:Body> > - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" > SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> > > WHAT I AM SENDING > <?xml version="1.0" encoding="utf-8" ?> > - <soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > - <soap:Body> > - <orderBatchElement xmlns="http://tempuri.org/"> > - <submitOrderBatch CustomerBatchID="58" > xmlns="http://tempuri.org/submitOrderBatch.xs"> > >
first i really appreciate your help, you cannot imagind how much time i have
spent on this already.
second, when i try to get the wsdl doc, i get the following error:
SOAP RPC Router
Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me.
also i have asked them many times and they keep insisting that they don't
have one
third, the code you sent me was an improvement, i had gotten that far
already. but what attributes do you have on the class?
i have
[WebService(Description = "Web Services Interoperability Test",Namespace =
"urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)]
but it doens't work
again thanks for your help so far
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:ua**************@TK2MSFTNGP14.phx.gbl... The WS I'm talking to is hosted on an IBM Web application server and the web server is an Apache server. So I guess my configuration is comparable to yours.
Again, I don't understand why you have no WSDL. I can access my WSDL using IE and entering the web service's URL plus appending "?WSDL" at the end, something like "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try that before you do anything else.
I added this WSDL-URL as a web reference to a sample VS C# console application. VS generated everything I need to call the web service. Calling the WS was as easy as:
// initialize parameters wsParameter.param1 = SomeValue1; ... wsParameter.paramX = SomeValueX; // call web service wsResult = wsSomeService.SomeMethod(wsParameter);
The classes for wsParameter, wsResult and wsSomeService where generated by VS based on the WSDL.
BTW, looking into the generated classes I can see that the web method I'm calling is RPC/encoded: [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:eN**************@TK2MSFTNGP12.phx.gbl... someone mentioned to me that the explanation is that the .NET default is rpc/encoded while that of apache servers is document/literal (or visa versa). what attribute do i use when i define my web methods to specify which format i want.
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@tk2msftngp13.phx.gbl... How do you construct your SOAP request and how do you send it? Have you tried to use no NS at all? It could work, if the submitOrderBatch nodes does not define any NS at all, but that depends on the WS server. Some WS servers are a bit strict on the formal format of the SOAP message.
I also don't understand why you have no WSDL. Normaly this is where VS gets the information about the web service methods, types and namespaces. Did you try to use the WS-address and append "?WSDL". Some WS then offer the WSDL. Just try with your web browser and see what happens.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... you are probably right! i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in my webmethod? some attribute? i really appreciate your help on this. i have spent a lot of time and have gotten nowhere again thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@TK2MSFTNGP14.phx.gbl... > Are you sure that it's the "soap" instead of the "SOAP-ENV" that > causes the problem? After all these are just local namespace prefixes > for "http://schemas.xmlsoap.org/soap/envelope/". As long as this URI > is the same for the prefixes defined it should make no difference. > > I expect the problem could be the "submitOrderBatch" node. As "they" > define a NS with xmlns:ns1="urn:OrderOperations" but you define > xmlns="http://tempuri.org/", which is another NS. So "your" node > sumbitOrderBatch is not the submitOrderBatch they expect. > > Just a thought... > Stefan > > > "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag > news:%2****************@TK2MSFTNGP11.phx.gbl... >> my soap messages to a remote site are failing. as far as i can tell >> the only differences between what my SOAP message looks liek and what >> they want are in the SOAP envelope >> SInce they don't have a wsdl doc i created a localhost site based on >> their DTD documetns. >> >> How do I configure my site (and client proxy) to match thier >> envelope? >> >> Any help would be greatly appreciated >> thanks >> mr >> >> WHAT THEY WANT >> >> <?xml version="1.0" encoding="UTF-8" ?> >> - <SOAP-ENV:Envelope >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >> - <SOAP-ENV:Body> >> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >> >> WHAT I AM SENDING >> <?xml version="1.0" encoding="utf-8" ?> >> - <soap:Envelope >> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >> - <soap:Body> >> - <orderBatchElement xmlns="http://tempuri.org/"> >> - <submitOrderBatch CustomerBatchID="58" >> xmlns="http://tempuri.org/submitOrderBatch.xs"> >> >> > >
Mhh.. I don't know if this will help you, as my code is generated code from
the WSDL and I don't know where it could fit in your code, but here I go:
[System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding",
Namespace="SomeNS")]
public class KMURatingWsService :
System.Web.Services.Protocols.SoapHttpClientProtoc ol {
....
[System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod",
RequestNamespace="SomeNS", ResponseNamespace="SomeNS")]
[return:
System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")]
public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) {
...
}
... classes for ParamType1, ParamType2 and ResultType like
[System.Xml.Serialization.SoapTypeAttribute("Param1 Type", "SomeURL")]
public class Param1Type {
... just a sequence of int's and string's
}
}
Again, I doubt that this will help you very much, as the WSDL defines the
binding protcoll needed for accessing the WS. So the binding is something
that is defined in the WSDL. If you don't have a WSDL what would the binding
be good for?
Wouldn't it be better for you to construct your own XML, so that it matches
the XML SOAP envelope required by "their" web service and post the request
"by hand" using HttpWebRequest/HttpWebResponse. See http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:OZ**************@TK2MSFTNGP12.phx.gbl... first i really appreciate your help, you cannot imagind how much time i have spent on this already.
second, when i try to get the wsdl doc, i get the following error: SOAP RPC Router Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me. also i have asked them many times and they keep insisting that they don't have one
third, the code you sent me was an improvement, i had gotten that far already. but what attributes do you have on the class? i have [WebService(Description = "Web Services Interoperability Test",Namespace = "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] but it doens't work again thanks for your help so far
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ua**************@TK2MSFTNGP14.phx.gbl... The WS I'm talking to is hosted on an IBM Web application server and the web server is an Apache server. So I guess my configuration is comparable to yours.
Again, I don't understand why you have no WSDL. I can access my WSDL using IE and entering the web service's URL plus appending "?WSDL" at the end, something like "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try that before you do anything else.
I added this WSDL-URL as a web reference to a sample VS C# console application. VS generated everything I need to call the web service. Calling the WS was as easy as:
// initialize parameters wsParameter.param1 = SomeValue1; ... wsParameter.paramX = SomeValueX; // call web service wsResult = wsSomeService.SomeMethod(wsParameter);
The classes for wsParameter, wsResult and wsSomeService where generated by VS based on the WSDL.
BTW, looking into the generated classes I can see that the web method I'm calling is RPC/encoded: [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:eN**************@TK2MSFTNGP12.phx.gbl... someone mentioned to me that the explanation is that the .NET default is rpc/encoded while that of apache servers is document/literal (or visa versa). what attribute do i use when i define my web methods to specify which format i want.
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@tk2msftngp13.phx.gbl... How do you construct your SOAP request and how do you send it? Have you tried to use no NS at all? It could work, if the submitOrderBatch nodes does not define any NS at all, but that depends on the WS server. Some WS servers are a bit strict on the formal format of the SOAP message.
I also don't understand why you have no WSDL. Normaly this is where VS gets the information about the web service methods, types and namespaces. Did you try to use the WS-address and append "?WSDL". Some WS then offer the WSDL. Just try with your web browser and see what happens.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:%2****************@TK2MSFTNGP11.phx.gbl... > you are probably right! > i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in > my webmethod? some attribute? > i really appreciate your help on this. i have spent a lot of time and > have gotten nowhere > again thanks > m > > "Stefan Misch" <st**********@removethis.gmx.de> wrote in message > news:%2****************@TK2MSFTNGP14.phx.gbl... >> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >> causes the problem? After all these are just local namespace prefixes >> for "http://schemas.xmlsoap.org/soap/envelope/". As long as this URI >> is the same for the prefixes defined it should make no difference. >> >> I expect the problem could be the "submitOrderBatch" node. As "they" >> define a NS with xmlns:ns1="urn:OrderOperations" but you define >> xmlns="http://tempuri.org/", which is another NS. So "your" node >> sumbitOrderBatch is not the submitOrderBatch they expect. >> >> Just a thought... >> Stefan >> >> >> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >> news:%2****************@TK2MSFTNGP11.phx.gbl... >>> my soap messages to a remote site are failing. as far as i can tell >>> the only differences between what my SOAP message looks liek and >>> what they want are in the SOAP envelope >>> SInce they don't have a wsdl doc i created a localhost site based on >>> their DTD documetns. >>> >>> How do I configure my site (and client proxy) to match thier >>> envelope? >>> >>> Any help would be greatly appreciated >>> thanks >>> mr >>> >>> WHAT THEY WANT >>> >>> <?xml version="1.0" encoding="UTF-8" ?> >>> - <SOAP-ENV:Envelope >>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>> - <SOAP-ENV:Body> >>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>> >>> WHAT I AM SENDING >>> <?xml version="1.0" encoding="utf-8" ?> >>> - <soap:Envelope >>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>> - <soap:Body> >>> - <orderBatchElement xmlns="http://tempuri.org/"> >>> - <submitOrderBatch CustomerBatchID="58" >>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>> >>> >> >> > >
thanks for your help. i am hand coding it now.
what tool can i use to trace the messages? the remote site uses https so i
can't use a regular sniffer.
i tried using winhttpcfg, but i don't see any data, it seems that it just
logs the start of a session, but no data within the session
thanks
m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:eK*************@TK2MSFTNGP10.phx.gbl... Mhh.. I don't know if this will help you, as my code is generated code from the WSDL and I don't know where it could fit in your code, but here I go:
[System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding", Namespace="SomeNS")] public class KMURatingWsService : System.Web.Services.Protocols.SoapHttpClientProtoc ol { ... [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeNS", ResponseNamespace="SomeNS")] [return: System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")] public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) { ... } ... classes for ParamType1, ParamType2 and ResultType like [System.Xml.Serialization.SoapTypeAttribute("Param1 Type", "SomeURL")] public class Param1Type { ... just a sequence of int's and string's } } Again, I doubt that this will help you very much, as the WSDL defines the binding protcoll needed for accessing the WS. So the binding is something that is defined in the WSDL. If you don't have a WSDL what would the binding be good for?
Wouldn't it be better for you to construct your own XML, so that it matches the XML SOAP envelope required by "their" web service and post the request "by hand" using HttpWebRequest/HttpWebResponse. See http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start. "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:OZ**************@TK2MSFTNGP12.phx.gbl... first i really appreciate your help, you cannot imagind how much time i have spent on this already.
second, when i try to get the wsdl doc, i get the following error: SOAP RPC Router Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me. also i have asked them many times and they keep insisting that they don't have one
third, the code you sent me was an improvement, i had gotten that far already. but what attributes do you have on the class? i have [WebService(Description = "Web Services Interoperability Test",Namespace = "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] but it doens't work again thanks for your help so far
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ua**************@TK2MSFTNGP14.phx.gbl... The WS I'm talking to is hosted on an IBM Web application server and the web server is an Apache server. So I guess my configuration is comparable to yours.
Again, I don't understand why you have no WSDL. I can access my WSDL using IE and entering the web service's URL plus appending "?WSDL" at the end, something like "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try that before you do anything else.
I added this WSDL-URL as a web reference to a sample VS C# console application. VS generated everything I need to call the web service. Calling the WS was as easy as:
// initialize parameters wsParameter.param1 = SomeValue1; ... wsParameter.paramX = SomeValueX; // call web service wsResult = wsSomeService.SomeMethod(wsParameter);
The classes for wsParameter, wsResult and wsSomeService where generated by VS based on the WSDL.
BTW, looking into the generated classes I can see that the web method I'm calling is RPC/encoded: [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:eN**************@TK2MSFTNGP12.phx.gbl... someone mentioned to me that the explanation is that the .NET default is rpc/encoded while that of apache servers is document/literal (or visa versa). what attribute do i use when i define my web methods to specify which format i want.
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:%2****************@tk2msftngp13.phx.gbl... > How do you construct your SOAP request and how do you send it? Have > you tried to use no NS at all? It could work, if the submitOrderBatch > nodes does not define any NS at all, but that depends on the WS > server. Some WS servers are a bit strict on the formal format of the > SOAP message. > > I also don't understand why you have no WSDL. Normaly this is where VS > gets the information about the web service methods, types and > namespaces. Did you try to use the WS-address and append "?WSDL". > Some WS then offer the WSDL. Just try with your web browser and see > what happens. > > > "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag > news:%2****************@TK2MSFTNGP11.phx.gbl... >> you are probably right! >> i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 in >> my webmethod? some attribute? >> i really appreciate your help on this. i have spent a lot of time and >> have gotten nowhere >> again thanks >> m >> >> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >> news:%2****************@TK2MSFTNGP14.phx.gbl... >>> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >>> causes the problem? After all these are just local namespace >>> prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long as >>> this URI is the same for the prefixes defined it should make no >>> difference. >>> >>> I expect the problem could be the "submitOrderBatch" node. As "they" >>> define a NS with xmlns:ns1="urn:OrderOperations" but you define >>> xmlns="http://tempuri.org/", which is another NS. So "your" node >>> sumbitOrderBatch is not the submitOrderBatch they expect. >>> >>> Just a thought... >>> Stefan >>> >>> >>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>> my soap messages to a remote site are failing. as far as i can tell >>>> the only differences between what my SOAP message looks liek and >>>> what they want are in the SOAP envelope >>>> SInce they don't have a wsdl doc i created a localhost site based >>>> on their DTD documetns. >>>> >>>> How do I configure my site (and client proxy) to match thier >>>> envelope? >>>> >>>> Any help would be greatly appreciated >>>> thanks >>>> mr >>>> >>>> WHAT THEY WANT >>>> >>>> <?xml version="1.0" encoding="UTF-8" ?> >>>> - <SOAP-ENV:Envelope >>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>>> - <SOAP-ENV:Body> >>>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>>> >>>> WHAT I AM SENDING >>>> <?xml version="1.0" encoding="utf-8" ?> >>>> - <soap:Envelope >>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>> - <soap:Body> >>>> - <orderBatchElement xmlns="http://tempuri.org/"> >>>> - <submitOrderBatch CustomerBatchID="58" >>>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>>> >>>> >>> >>> >> >> > >
For tracing may be that http://www.pocketsoap.com/ helps you. There are a
number of free trace tools available (YATT (Yet Another Trace Tool),
PcapTrace, TcpTrace, ProxyTrace) but I guess they won't be able to trace
HTTPS.
WinHttpCfg only traces traffic through the ServerXMLHTTP object which is not
used by .NET. But WinHttpCfg is able to trace HTTPS.
If you find any way to trace HTTPS using .NET WebRequest/WebResponse please
tell me, as I'm also looking for a way to do this (for others reading this
thread: with tracing I mean a reasonable way of representing the data that
goes over the wire, I'm not a network guru and don't think that a network
sniffer will help my in tracing SOAP messages over HTTPS). A tool like
WinHttpCfg for ServerXMLHTTP would be great for .NET's
WebRequest/WebResponse, but will do
Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:uX*************@tk2msftngp13.phx.gbl... thanks for your help. i am hand coding it now. what tool can i use to trace the messages? the remote site uses https so i can't use a regular sniffer. i tried using winhttpcfg, but i don't see any data, it seems that it just logs the start of a session, but no data within the session thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:eK*************@TK2MSFTNGP10.phx.gbl... Mhh.. I don't know if this will help you, as my code is generated code from the WSDL and I don't know where it could fit in your code, but here I go:
[System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding", Namespace="SomeNS")] public class KMURatingWsService : System.Web.Services.Protocols.SoapHttpClientProtoc ol { ... [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeNS", ResponseNamespace="SomeNS")] [return: System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")] public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) { ... } ... classes for ParamType1, ParamType2 and ResultType like [System.Xml.Serialization.SoapTypeAttribute("Param1 Type", "SomeURL")] public class Param1Type { ... just a sequence of int's and string's } } Again, I doubt that this will help you very much, as the WSDL defines the binding protcoll needed for accessing the WS. So the binding is something that is defined in the WSDL. If you don't have a WSDL what would the binding be good for?
Wouldn't it be better for you to construct your own XML, so that it matches the XML SOAP envelope required by "their" web service and post the request "by hand" using HttpWebRequest/HttpWebResponse. See http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start. "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:OZ**************@TK2MSFTNGP12.phx.gbl... first i really appreciate your help, you cannot imagind how much time i have spent on this already.
second, when i try to get the wsdl doc, i get the following error: SOAP RPC Router Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me. also i have asked them many times and they keep insisting that they don't have one
third, the code you sent me was an improvement, i had gotten that far already. but what attributes do you have on the class? i have [WebService(Description = "Web Services Interoperability Test",Namespace = "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] but it doens't work again thanks for your help so far
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ua**************@TK2MSFTNGP14.phx.gbl... The WS I'm talking to is hosted on an IBM Web application server and the web server is an Apache server. So I guess my configuration is comparable to yours.
Again, I don't understand why you have no WSDL. I can access my WSDL using IE and entering the web service's URL plus appending "?WSDL" at the end, something like "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try that before you do anything else.
I added this WSDL-URL as a web reference to a sample VS C# console application. VS generated everything I need to call the web service. Calling the WS was as easy as:
// initialize parameters wsParameter.param1 = SomeValue1; ... wsParameter.paramX = SomeValueX; // call web service wsResult = wsSomeService.SomeMethod(wsParameter);
The classes for wsParameter, wsResult and wsSomeService where generated by VS based on the WSDL.
BTW, looking into the generated classes I can see that the web method I'm calling is RPC/encoded: [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:eN**************@TK2MSFTNGP12.phx.gbl... > someone mentioned to me that the explanation is that the .NET default > is rpc/encoded while that of apache servers is document/literal (or > visa versa). what attribute do i use when i define my web methods to > specify which format i want. > > "Stefan Misch" <st**********@removethis.gmx.de> wrote in message > news:%2****************@tk2msftngp13.phx.gbl... >> How do you construct your SOAP request and how do you send it? Have >> you tried to use no NS at all? It could work, if the submitOrderBatch >> nodes does not define any NS at all, but that depends on the WS >> server. Some WS servers are a bit strict on the formal format of the >> SOAP message. >> >> I also don't understand why you have no WSDL. Normaly this is where >> VS gets the information about the web service methods, types and >> namespaces. Did you try to use the WS-address and append "?WSDL". >> Some WS then offer the WSDL. Just try with your web browser and see >> what happens. >> >> >> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >> news:%2****************@TK2MSFTNGP11.phx.gbl... >>> you are probably right! >>> i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 >>> in my webmethod? some attribute? >>> i really appreciate your help on this. i have spent a lot of time >>> and have gotten nowhere >>> again thanks >>> m >>> >>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>> news:%2****************@TK2MSFTNGP14.phx.gbl... >>>> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >>>> causes the problem? After all these are just local namespace >>>> prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long >>>> as this URI is the same for the prefixes defined it should make no >>>> difference. >>>> >>>> I expect the problem could be the "submitOrderBatch" node. As >>>> "they" define a NS with xmlns:ns1="urn:OrderOperations" but you >>>> define xmlns="http://tempuri.org/", which is another NS. So "your" >>>> node sumbitOrderBatch is not the submitOrderBatch they expect. >>>> >>>> Just a thought... >>>> Stefan >>>> >>>> >>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>> my soap messages to a remote site are failing. as far as i can >>>>> tell the only differences between what my SOAP message looks liek >>>>> and what they want are in the SOAP envelope >>>>> SInce they don't have a wsdl doc i created a localhost site based >>>>> on their DTD documetns. >>>>> >>>>> How do I configure my site (and client proxy) to match thier >>>>> envelope? >>>>> >>>>> Any help would be greatly appreciated >>>>> thanks >>>>> mr >>>>> >>>>> WHAT THEY WANT >>>>> >>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>> - <SOAP-ENV:Envelope >>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>>>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>>>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>>>> - <SOAP-ENV:Body> >>>>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>>>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>>>> >>>>> WHAT I AM SENDING >>>>> <?xml version="1.0" encoding="utf-8" ?> >>>>> - <soap:Envelope >>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>> - <soap:Body> >>>>> - <orderBatchElement xmlns="http://tempuri.org/"> >>>>> - <submitOrderBatch CustomerBatchID="58" >>>>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >
first i'd like to thank you for the enormous amount of help that you have
given so far far. i will look into pocketsoap tools. most of the ones i've
seen either don't work on https or require a wsdl doc which i don't have
however i can tell you that using a sniffer on https will allow you to see
the encrypted message which is not very useful since you cannot see any
content
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:ec**************@TK2MSFTNGP10.phx.gbl... For tracing may be that http://www.pocketsoap.com/ helps you. There are a number of free trace tools available (YATT (Yet Another Trace Tool), PcapTrace, TcpTrace, ProxyTrace) but I guess they won't be able to trace HTTPS.
WinHttpCfg only traces traffic through the ServerXMLHTTP object which is not used by .NET. But WinHttpCfg is able to trace HTTPS.
If you find any way to trace HTTPS using .NET WebRequest/WebResponse please tell me, as I'm also looking for a way to do this (for others reading this thread: with tracing I mean a reasonable way of representing the data that goes over the wire, I'm not a network guru and don't think that a network sniffer will help my in tracing SOAP messages over HTTPS). A tool like WinHttpCfg for ServerXMLHTTP would be great for .NET's WebRequest/WebResponse, but will do
Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:uX*************@tk2msftngp13.phx.gbl... thanks for your help. i am hand coding it now. what tool can i use to trace the messages? the remote site uses https so i can't use a regular sniffer. i tried using winhttpcfg, but i don't see any data, it seems that it just logs the start of a session, but no data within the session thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:eK*************@TK2MSFTNGP10.phx.gbl... Mhh.. I don't know if this will help you, as my code is generated code from the WSDL and I don't know where it could fit in your code, but here I go:
[System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding", Namespace="SomeNS")] public class KMURatingWsService : System.Web.Services.Protocols.SoapHttpClientProtoc ol { ... [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeNS", ResponseNamespace="SomeNS")] [return: System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")] public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) { ... } ... classes for ParamType1, ParamType2 and ResultType like [System.Xml.Serialization.SoapTypeAttribute("Param1 Type", "SomeURL")] public class Param1Type { ... just a sequence of int's and string's } } Again, I doubt that this will help you very much, as the WSDL defines the binding protcoll needed for accessing the WS. So the binding is something that is defined in the WSDL. If you don't have a WSDL what would the binding be good for?
Wouldn't it be better for you to construct your own XML, so that it matches the XML SOAP envelope required by "their" web service and post the request "by hand" using HttpWebRequest/HttpWebResponse. See http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start. "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:OZ**************@TK2MSFTNGP12.phx.gbl... first i really appreciate your help, you cannot imagind how much time i have spent on this already.
second, when i try to get the wsdl doc, i get the following error: SOAP RPC Router Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me. also i have asked them many times and they keep insisting that they don't have one
third, the code you sent me was an improvement, i had gotten that far already. but what attributes do you have on the class? i have [WebService(Description = "Web Services Interoperability Test",Namespace = "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] but it doens't work again thanks for your help so far
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ua**************@TK2MSFTNGP14.phx.gbl... > The WS I'm talking to is hosted on an IBM Web application server and > the web server is an Apache server. So I guess my configuration is > comparable to yours. > > Again, I don't understand why you have no WSDL. I can access my WSDL > using IE and entering the web service's URL plus appending "?WSDL" at > the end, something like > "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try that > before you do anything else. > > I added this WSDL-URL as a web reference to a sample VS C# console > application. VS generated everything I need to call the web service. > Calling the WS was as easy as: > > // initialize parameters > wsParameter.param1 = SomeValue1; > ... > wsParameter.paramX = SomeValueX; > // call web service > wsResult = wsSomeService.SomeMethod(wsParameter); > > The classes for wsParameter, wsResult and wsSomeService where > generated > by VS based on the WSDL. > > BTW, looking into the generated classes I can see that the web method > I'm calling is RPC/encoded: > [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", > RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] > > > > "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag > news:eN**************@TK2MSFTNGP12.phx.gbl... >> someone mentioned to me that the explanation is that the .NET default >> is rpc/encoded while that of apache servers is document/literal (or >> visa versa). what attribute do i use when i define my web methods to >> specify which format i want. >> >> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >> news:%2****************@tk2msftngp13.phx.gbl... >>> How do you construct your SOAP request and how do you send it? Have >>> you tried to use no NS at all? It could work, if the >>> submitOrderBatch >>> nodes does not define any NS at all, but that depends on the WS >>> server. Some WS servers are a bit strict on the formal format of the >>> SOAP message. >>> >>> I also don't understand why you have no WSDL. Normaly this is where >>> VS gets the information about the web service methods, types and >>> namespaces. Did you try to use the WS-address and append "?WSDL". >>> Some WS then offer the WSDL. Just try with your web browser and see >>> what happens. >>> >>> >>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>> you are probably right! >>>> i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 >>>> in my webmethod? some attribute? >>>> i really appreciate your help on this. i have spent a lot of time >>>> and have gotten nowhere >>>> again thanks >>>> m >>>> >>>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>>> news:%2****************@TK2MSFTNGP14.phx.gbl... >>>>> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >>>>> causes the problem? After all these are just local namespace >>>>> prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long >>>>> as this URI is the same for the prefixes defined it should make no >>>>> difference. >>>>> >>>>> I expect the problem could be the "submitOrderBatch" node. As >>>>> "they" define a NS with xmlns:ns1="urn:OrderOperations" but you >>>>> define xmlns="http://tempuri.org/", which is another NS. So "your" >>>>> node sumbitOrderBatch is not the submitOrderBatch they expect. >>>>> >>>>> Just a thought... >>>>> Stefan >>>>> >>>>> >>>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>>> my soap messages to a remote site are failing. as far as i can >>>>>> tell the only differences between what my SOAP message looks liek >>>>>> and what they want are in the SOAP envelope >>>>>> SInce they don't have a wsdl doc i created a localhost site based >>>>>> on their DTD documetns. >>>>>> >>>>>> How do I configure my site (and client proxy) to match thier >>>>>> envelope? >>>>>> >>>>>> Any help would be greatly appreciated >>>>>> thanks >>>>>> mr >>>>>> >>>>>> WHAT THEY WANT >>>>>> >>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>> - <SOAP-ENV:Envelope >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>>>>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>>>>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>>>>> - <SOAP-ENV:Body> >>>>>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>>>>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>>>>> >>>>>> WHAT I AM SENDING >>>>>> <?xml version="1.0" encoding="utf-8" ?> >>>>>> - <soap:Envelope >>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>>> - <soap:Body> >>>>>> - <orderBatchElement xmlns="http://tempuri.org/"> >>>>>> - <submitOrderBatch CustomerBatchID="58" >>>>>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >
i am looking at PocketSoap's proxy trace. they have an instruction " Simply
configure your SOAP client to use a HTTP proxy server, leave all the
addresses as normal, and off you go."
how do i configure my client to use an HTTP proxy server?
thanks
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:ec**************@TK2MSFTNGP10.phx.gbl... For tracing may be that http://www.pocketsoap.com/ helps you. There are a number of free trace tools available (YATT (Yet Another Trace Tool), PcapTrace, TcpTrace, ProxyTrace) but I guess they won't be able to trace HTTPS.
WinHttpCfg only traces traffic through the ServerXMLHTTP object which is not used by .NET. But WinHttpCfg is able to trace HTTPS.
If you find any way to trace HTTPS using .NET WebRequest/WebResponse please tell me, as I'm also looking for a way to do this (for others reading this thread: with tracing I mean a reasonable way of representing the data that goes over the wire, I'm not a network guru and don't think that a network sniffer will help my in tracing SOAP messages over HTTPS). A tool like WinHttpCfg for ServerXMLHTTP would be great for .NET's WebRequest/WebResponse, but will do
Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:uX*************@tk2msftngp13.phx.gbl... thanks for your help. i am hand coding it now. what tool can i use to trace the messages? the remote site uses https so i can't use a regular sniffer. i tried using winhttpcfg, but i don't see any data, it seems that it just logs the start of a session, but no data within the session thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:eK*************@TK2MSFTNGP10.phx.gbl... Mhh.. I don't know if this will help you, as my code is generated code from the WSDL and I don't know where it could fit in your code, but here I go:
[System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding", Namespace="SomeNS")] public class KMURatingWsService : System.Web.Services.Protocols.SoapHttpClientProtoc ol { ... [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeNS", ResponseNamespace="SomeNS")] [return: System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")] public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) { ... } ... classes for ParamType1, ParamType2 and ResultType like [System.Xml.Serialization.SoapTypeAttribute("Param1 Type", "SomeURL")] public class Param1Type { ... just a sequence of int's and string's } } Again, I doubt that this will help you very much, as the WSDL defines the binding protcoll needed for accessing the WS. So the binding is something that is defined in the WSDL. If you don't have a WSDL what would the binding be good for?
Wouldn't it be better for you to construct your own XML, so that it matches the XML SOAP envelope required by "their" web service and post the request "by hand" using HttpWebRequest/HttpWebResponse. See http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start. "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:OZ**************@TK2MSFTNGP12.phx.gbl... first i really appreciate your help, you cannot imagind how much time i have spent on this already.
second, when i try to get the wsdl doc, i get the following error: SOAP RPC Router Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me. also i have asked them many times and they keep insisting that they don't have one
third, the code you sent me was an improvement, i had gotten that far already. but what attributes do you have on the class? i have [WebService(Description = "Web Services Interoperability Test",Namespace = "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] but it doens't work again thanks for your help so far
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ua**************@TK2MSFTNGP14.phx.gbl... > The WS I'm talking to is hosted on an IBM Web application server and > the web server is an Apache server. So I guess my configuration is > comparable to yours. > > Again, I don't understand why you have no WSDL. I can access my WSDL > using IE and entering the web service's URL plus appending "?WSDL" at > the end, something like > "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try that > before you do anything else. > > I added this WSDL-URL as a web reference to a sample VS C# console > application. VS generated everything I need to call the web service. > Calling the WS was as easy as: > > // initialize parameters > wsParameter.param1 = SomeValue1; > ... > wsParameter.paramX = SomeValueX; > // call web service > wsResult = wsSomeService.SomeMethod(wsParameter); > > The classes for wsParameter, wsResult and wsSomeService where > generated > by VS based on the WSDL. > > BTW, looking into the generated classes I can see that the web method > I'm calling is RPC/encoded: > [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", > RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] > > > > "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag > news:eN**************@TK2MSFTNGP12.phx.gbl... >> someone mentioned to me that the explanation is that the .NET default >> is rpc/encoded while that of apache servers is document/literal (or >> visa versa). what attribute do i use when i define my web methods to >> specify which format i want. >> >> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >> news:%2****************@tk2msftngp13.phx.gbl... >>> How do you construct your SOAP request and how do you send it? Have >>> you tried to use no NS at all? It could work, if the >>> submitOrderBatch >>> nodes does not define any NS at all, but that depends on the WS >>> server. Some WS servers are a bit strict on the formal format of the >>> SOAP message. >>> >>> I also don't understand why you have no WSDL. Normaly this is where >>> VS gets the information about the web service methods, types and >>> namespaces. Did you try to use the WS-address and append "?WSDL". >>> Some WS then offer the WSDL. Just try with your web browser and see >>> what happens. >>> >>> >>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>> you are probably right! >>>> i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 >>>> in my webmethod? some attribute? >>>> i really appreciate your help on this. i have spent a lot of time >>>> and have gotten nowhere >>>> again thanks >>>> m >>>> >>>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>>> news:%2****************@TK2MSFTNGP14.phx.gbl... >>>>> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >>>>> causes the problem? After all these are just local namespace >>>>> prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long >>>>> as this URI is the same for the prefixes defined it should make no >>>>> difference. >>>>> >>>>> I expect the problem could be the "submitOrderBatch" node. As >>>>> "they" define a NS with xmlns:ns1="urn:OrderOperations" but you >>>>> define xmlns="http://tempuri.org/", which is another NS. So "your" >>>>> node sumbitOrderBatch is not the submitOrderBatch they expect. >>>>> >>>>> Just a thought... >>>>> Stefan >>>>> >>>>> >>>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>>> my soap messages to a remote site are failing. as far as i can >>>>>> tell the only differences between what my SOAP message looks liek >>>>>> and what they want are in the SOAP envelope >>>>>> SInce they don't have a wsdl doc i created a localhost site based >>>>>> on their DTD documetns. >>>>>> >>>>>> How do I configure my site (and client proxy) to match thier >>>>>> envelope? >>>>>> >>>>>> Any help would be greatly appreciated >>>>>> thanks >>>>>> mr >>>>>> >>>>>> WHAT THEY WANT >>>>>> >>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>> - <SOAP-ENV:Envelope >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>>>>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>>>>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>>>>> - <SOAP-ENV:Body> >>>>>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>>>>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>>>>> >>>>>> WHAT I AM SENDING >>>>>> <?xml version="1.0" encoding="utf-8" ?> >>>>>> - <soap:Envelope >>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>>> - <soap:Body> >>>>>> - <orderBatchElement xmlns="http://tempuri.org/"> >>>>>> - <submitOrderBatch CustomerBatchID="58" >>>>>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >
If you start proxyTrace you must supply a port number, the default is 8080.
So the proxy on your PC is http://localhost:8080. This address must be set
to the "Proxy" property of HttpWebRequest. See http://msdn.microsoft.com/library/de...ProxyTopic.asp
So you end up with something like:
....
WebProxy traceProxy = new WebProxy( http://localhost:8080);
httpRequest.Proxy = traceProxy;
....
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:eJ*************@TK2MSFTNGP15.phx.gbl... i am looking at PocketSoap's proxy trace. they have an instruction " Simply configure your SOAP client to use a HTTP proxy server, leave all the addresses as normal, and off you go." how do i configure my client to use an HTTP proxy server? thanks "Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ec**************@TK2MSFTNGP10.phx.gbl... For tracing may be that http://www.pocketsoap.com/ helps you. There are a number of free trace tools available (YATT (Yet Another Trace Tool), PcapTrace, TcpTrace, ProxyTrace) but I guess they won't be able to trace HTTPS.
WinHttpCfg only traces traffic through the ServerXMLHTTP object which is not used by .NET. But WinHttpCfg is able to trace HTTPS.
If you find any way to trace HTTPS using .NET WebRequest/WebResponse please tell me, as I'm also looking for a way to do this (for others reading this thread: with tracing I mean a reasonable way of representing the data that goes over the wire, I'm not a network guru and don't think that a network sniffer will help my in tracing SOAP messages over HTTPS). A tool like WinHttpCfg for ServerXMLHTTP would be great for .NET's WebRequest/WebResponse, but will do
Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:uX*************@tk2msftngp13.phx.gbl... thanks for your help. i am hand coding it now. what tool can i use to trace the messages? the remote site uses https so i can't use a regular sniffer. i tried using winhttpcfg, but i don't see any data, it seems that it just logs the start of a session, but no data within the session thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:eK*************@TK2MSFTNGP10.phx.gbl... Mhh.. I don't know if this will help you, as my code is generated code from the WSDL and I don't know where it could fit in your code, but here I go:
[System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding", Namespace="SomeNS")] public class KMURatingWsService : System.Web.Services.Protocols.SoapHttpClientProtoc ol { ... [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", RequestNamespace="SomeNS", ResponseNamespace="SomeNS")] [return: System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")] public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) { ... } ... classes for ParamType1, ParamType2 and ResultType like [System.Xml.Serialization.SoapTypeAttribute("Param1 Type", "SomeURL")] public class Param1Type { ... just a sequence of int's and string's } } Again, I doubt that this will help you very much, as the WSDL defines the binding protcoll needed for accessing the WS. So the binding is something that is defined in the WSDL. If you don't have a WSDL what would the binding be good for?
Wouldn't it be better for you to construct your own XML, so that it matches the XML SOAP envelope required by "their" web service and post the request "by hand" using HttpWebRequest/HttpWebResponse. See http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start. "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:OZ**************@TK2MSFTNGP12.phx.gbl... > first i really appreciate your help, you cannot imagind how much time > i > have spent on this already. > > second, when i try to get the wsdl doc, i get the following error: > SOAP RPC Router > Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk > to > me. > also i have asked them many times and they keep insisting that they > don't have one > > > third, the code you sent me was an improvement, i had gotten that far > already. but what attributes do you have on the class? > i have > [WebService(Description = "Web Services Interoperability > Test",Namespace > = > "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] > but it doens't work > again thanks for your help so far > > "Stefan Misch" <st**********@removethis.gmx.de> wrote in message > news:ua**************@TK2MSFTNGP14.phx.gbl... >> The WS I'm talking to is hosted on an IBM Web application server and >> the web server is an Apache server. So I guess my configuration is >> comparable to yours. >> >> Again, I don't understand why you have no WSDL. I can access my WSDL >> using IE and entering the web service's URL plus appending "?WSDL" at >> the end, something like >> "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try >> that >> before you do anything else. >> >> I added this WSDL-URL as a web reference to a sample VS C# console >> application. VS generated everything I need to call the web service. >> Calling the WS was as easy as: >> >> // initialize parameters >> wsParameter.param1 = SomeValue1; >> ... >> wsParameter.paramX = SomeValueX; >> // call web service >> wsResult = wsSomeService.SomeMethod(wsParameter); >> >> The classes for wsParameter, wsResult and wsSomeService where >> generated >> by VS based on the WSDL. >> >> BTW, looking into the generated classes I can see that the web method >> I'm calling is RPC/encoded: >> [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", >> RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] >> >> >> >> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >> news:eN**************@TK2MSFTNGP12.phx.gbl... >>> someone mentioned to me that the explanation is that the .NET >>> default >>> is rpc/encoded while that of apache servers is document/literal (or >>> visa versa). what attribute do i use when i define my web methods to >>> specify which format i want. >>> >>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>> news:%2****************@tk2msftngp13.phx.gbl... >>>> How do you construct your SOAP request and how do you send it? Have >>>> you tried to use no NS at all? It could work, if the >>>> submitOrderBatch >>>> nodes does not define any NS at all, but that depends on the WS >>>> server. Some WS servers are a bit strict on the formal format of >>>> the >>>> SOAP message. >>>> >>>> I also don't understand why you have no WSDL. Normaly this is where >>>> VS gets the information about the web service methods, types and >>>> namespaces. Did you try to use the WS-address and append "?WSDL". >>>> Some WS then offer the WSDL. Just try with your web browser and see >>>> what happens. >>>> >>>> >>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>> you are probably right! >>>>> i got rid of the http://tempuri.or, but how do i set the xmlns:ns1 >>>>> in my webmethod? some attribute? >>>>> i really appreciate your help on this. i have spent a lot of time >>>>> and have gotten nowhere >>>>> again thanks >>>>> m >>>>> >>>>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>>>> news:%2****************@TK2MSFTNGP14.phx.gbl... >>>>>> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >>>>>> causes the problem? After all these are just local namespace >>>>>> prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As long >>>>>> as this URI is the same for the prefixes defined it should make >>>>>> no >>>>>> difference. >>>>>> >>>>>> I expect the problem could be the "submitOrderBatch" node. As >>>>>> "they" define a NS with xmlns:ns1="urn:OrderOperations" but you >>>>>> define xmlns="http://tempuri.org/", which is another NS. So >>>>>> "your" >>>>>> node sumbitOrderBatch is not the submitOrderBatch they expect. >>>>>> >>>>>> Just a thought... >>>>>> Stefan >>>>>> >>>>>> >>>>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>>>> my soap messages to a remote site are failing. as far as i can >>>>>>> tell the only differences between what my SOAP message looks >>>>>>> liek >>>>>>> and what they want are in the SOAP envelope >>>>>>> SInce they don't have a wsdl doc i created a localhost site >>>>>>> based >>>>>>> on their DTD documetns. >>>>>>> >>>>>>> How do I configure my site (and client proxy) to match thier >>>>>>> envelope? >>>>>>> >>>>>>> Any help would be greatly appreciated >>>>>>> thanks >>>>>>> mr >>>>>>> >>>>>>> WHAT THEY WANT >>>>>>> >>>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>>> - <SOAP-ENV:Envelope >>>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>>>>>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>>>>>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>>>>>> - <SOAP-ENV:Body> >>>>>>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>>>>>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>>>>>> >>>>>>> WHAT I AM SENDING >>>>>>> <?xml version="1.0" encoding="utf-8" ?> >>>>>>> - <soap:Envelope >>>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>>>> - <soap:Body> >>>>>>> - <orderBatchElement xmlns="http://tempuri.org/"> >>>>>>> - <submitOrderBatch CustomerBatchID="58" >>>>>>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >
sorry to keep being a pain... but
i get the trace using the proxy, but i now timeout when i use the proxy, and
it works fine when i don't. is there something else i need to change?
thanks again
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message
news:OX**************@TK2MSFTNGP15.phx.gbl... If you start proxyTrace you must supply a port number, the default is 8080. So the proxy on your PC is http://localhost:8080. This address must be set to the "Proxy" property of HttpWebRequest. See http://msdn.microsoft.com/library/de...ProxyTopic.asp
So you end up with something like:
... WebProxy traceProxy = new WebProxy(http://localhost:8080); httpRequest.Proxy = traceProxy; ...
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:eJ*************@TK2MSFTNGP15.phx.gbl...i am looking at PocketSoap's proxy trace. they have an instruction " Simply configure your SOAP client to use a HTTP proxy server, leave all the addresses as normal, and off you go." how do i configure my client to use an HTTP proxy server? thanks "Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:ec**************@TK2MSFTNGP10.phx.gbl... For tracing may be that http://www.pocketsoap.com/ helps you. There are a number of free trace tools available (YATT (Yet Another Trace Tool), PcapTrace, TcpTrace, ProxyTrace) but I guess they won't be able to trace HTTPS.
WinHttpCfg only traces traffic through the ServerXMLHTTP object which is not used by .NET. But WinHttpCfg is able to trace HTTPS.
If you find any way to trace HTTPS using .NET WebRequest/WebResponse please tell me, as I'm also looking for a way to do this (for others reading this thread: with tracing I mean a reasonable way of representing the data that goes over the wire, I'm not a network guru and don't think that a network sniffer will help my in tracing SOAP messages over HTTPS). A tool like WinHttpCfg for ServerXMLHTTP would be great for .NET's WebRequest/WebResponse, but will do
Stefan
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag news:uX*************@tk2msftngp13.phx.gbl... thanks for your help. i am hand coding it now. what tool can i use to trace the messages? the remote site uses https so i can't use a regular sniffer. i tried using winhttpcfg, but i don't see any data, it seems that it just logs the start of a session, but no data within the session thanks m
"Stefan Misch" <st**********@removethis.gmx.de> wrote in message news:eK*************@TK2MSFTNGP10.phx.gbl... > Mhh.. I don't know if this will help you, as my code is generated code > from the WSDL and I don't know where it could fit in your code, but > here > I go: > > [System.Web.Services.WebServiceBindingAttribute(Nam e="SomeNameSoapBinding", > Namespace="SomeNS")] > public class KMURatingWsService : > System.Web.Services.Protocols.SoapHttpClientProtoc ol { > ... > [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", > RequestNamespace="SomeNS", ResponseNamespace="SomeNS")] > [return: > System.Xml.Serialization.SoapElementAttribute("Som eMethodReturn")] > public ResultType SomeMethod(ParamType1 param1, ParamType2 param2) > { > ... > } > ... classes for ParamType1, ParamType2 and ResultType like > [System.Xml.Serialization.SoapTypeAttribute("Param1 Type", > "SomeURL")] > public class Param1Type { > ... just a sequence of int's and string's > } > } > Again, I doubt that this will help you very much, as the WSDL defines > the > binding protcoll needed for accessing the WS. So the binding is > something > that is defined in the WSDL. If you don't have a WSDL what would the > binding be good for? > > Wouldn't it be better for you to construct your own XML, so that it > matches the XML SOAP envelope required by "their" web service and post > the request "by hand" using HttpWebRequest/HttpWebResponse. See > http://msdn.microsoft.com/msdnmag/issues/01/09/cweb/ as a first start. > > > > "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag > news:OZ**************@TK2MSFTNGP12.phx.gbl... >> first i really appreciate your help, you cannot imagind how much time >> i >> have spent on this already. >> >> second, when i try to get the wsdl doc, i get the following error: >> SOAP RPC Router >> Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk >> to >> me. >> also i have asked them many times and they keep insisting that they >> don't have one >> >> >> third, the code you sent me was an improvement, i had gotten that far >> already. but what attributes do you have on the class? >> i have >> [WebService(Description = "Web Services Interoperability >> Test",Namespace >> = >> "urn:UserOperations")][SoapRpcService(RoutingStyle=SoapServiceRoutingStyl e.SoapAction)] >> but it doens't work >> again thanks for your help so far >> >> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >> news:ua**************@TK2MSFTNGP14.phx.gbl... >>> The WS I'm talking to is hosted on an IBM Web application server and >>> the web server is an Apache server. So I guess my configuration is >>> comparable to yours. >>> >>> Again, I don't understand why you have no WSDL. I can access my WSDL >>> using IE and entering the web service's URL plus appending "?WSDL" >>> at >>> the end, something like >>> "http://www.somedomain.xxx/Services/SomeService?WSDL". Please try >>> that >>> before you do anything else. >>> >>> I added this WSDL-URL as a web reference to a sample VS C# console >>> application. VS generated everything I need to call the web service. >>> Calling the WS was as easy as: >>> >>> // initialize parameters >>> wsParameter.param1 = SomeValue1; >>> ... >>> wsParameter.paramX = SomeValueX; >>> // call web service >>> wsResult = wsSomeService.SomeMethod(wsParameter); >>> >>> The classes for wsParameter, wsResult and wsSomeService where >>> generated >>> by VS based on the WSDL. >>> >>> BTW, looking into the generated classes I can see that the web >>> method >>> I'm calling is RPC/encoded: >>> [System.Web.Services.Protocols.SoapRpcMethodAttribu te("SomeMethod", >>> RequestNamespace="SomeURI", ResponseNamespace="SomeURI")] >>> >>> >>> >>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>> news:eN**************@TK2MSFTNGP12.phx.gbl... >>>> someone mentioned to me that the explanation is that the .NET >>>> default >>>> is rpc/encoded while that of apache servers is document/literal (or >>>> visa versa). what attribute do i use when i define my web methods >>>> to >>>> specify which format i want. >>>> >>>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>>> news:%2****************@tk2msftngp13.phx.gbl... >>>>> How do you construct your SOAP request and how do you send it? >>>>> Have >>>>> you tried to use no NS at all? It could work, if the >>>>> submitOrderBatch >>>>> nodes does not define any NS at all, but that depends on the WS >>>>> server. Some WS servers are a bit strict on the formal format of >>>>> the >>>>> SOAP message. >>>>> >>>>> I also don't understand why you have no WSDL. Normaly this is >>>>> where >>>>> VS gets the information about the web service methods, types and >>>>> namespaces. Did you try to use the WS-address and append "?WSDL". >>>>> Some WS then offer the WSDL. Just try with your web browser and >>>>> see >>>>> what happens. >>>>> >>>>> >>>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>>> you are probably right! >>>>>> i got rid of the http://tempuri.or, but how do i set the >>>>>> xmlns:ns1 >>>>>> in my webmethod? some attribute? >>>>>> i really appreciate your help on this. i have spent a lot of time >>>>>> and have gotten nowhere >>>>>> again thanks >>>>>> m >>>>>> >>>>>> "Stefan Misch" <st**********@removethis.gmx.de> wrote in message >>>>>> news:%2****************@TK2MSFTNGP14.phx.gbl... >>>>>>> Are you sure that it's the "soap" instead of the "SOAP-ENV" that >>>>>>> causes the problem? After all these are just local namespace >>>>>>> prefixes for "http://schemas.xmlsoap.org/soap/envelope/". As >>>>>>> long >>>>>>> as this URI is the same for the prefixes defined it should make >>>>>>> no >>>>>>> difference. >>>>>>> >>>>>>> I expect the problem could be the "submitOrderBatch" node. As >>>>>>> "they" define a NS with xmlns:ns1="urn:OrderOperations" but you >>>>>>> define xmlns="http://tempuri.org/", which is another NS. So >>>>>>> "your" >>>>>>> node sumbitOrderBatch is not the submitOrderBatch they expect. >>>>>>> >>>>>>> Just a thought... >>>>>>> Stefan >>>>>>> >>>>>>> >>>>>>> "MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag >>>>>>> news:%2****************@TK2MSFTNGP11.phx.gbl... >>>>>>>> my soap messages to a remote site are failing. as far as i can >>>>>>>> tell the only differences between what my SOAP message looks >>>>>>>> liek >>>>>>>> and what they want are in the SOAP envelope >>>>>>>> SInce they don't have a wsdl doc i created a localhost site >>>>>>>> based >>>>>>>> on their DTD documetns. >>>>>>>> >>>>>>>> How do I configure my site (and client proxy) to match thier >>>>>>>> envelope? >>>>>>>> >>>>>>>> Any help would be greatly appreciated >>>>>>>> thanks >>>>>>>> mr >>>>>>>> >>>>>>>> WHAT THEY WANT >>>>>>>> >>>>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>>>> - <SOAP-ENV:Envelope >>>>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>>>>>>> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >>>>>>>> xmlns:xsd="http://www.w3.org/1999/XMLSchema"> >>>>>>>> - <SOAP-ENV:Body> >>>>>>>> - <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations" >>>>>>>> SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml"> >>>>>>>> >>>>>>>> WHAT I AM SENDING >>>>>>>> <?xml version="1.0" encoding="utf-8" ?> >>>>>>>> - <soap:Envelope >>>>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>>>>> - <soap:Body> >>>>>>>> - <orderBatchElement xmlns="http://tempuri.org/"> >>>>>>>> - <submitOrderBatch CustomerBatchID="58" >>>>>>>> xmlns="http://tempuri.org/submitOrderBatch.xs"> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > >
Sorry for the delay...
I thought that the tools from www.pockesoap.com do not support HTTPS. So
what do you mean by "I get the the trace"? Is this is the SSL encrypted SOAP
message? Maybe that's why you get a timeout because the forwarding does not
work. I can only trace standard HTTP SOAP messages using procyTrace.
Anyway, I found a tool that allows you to trace SOAP messages in both HTTP
and HTTPS: Mindreef's SOAPscope 4.1 (see http://www.mindreef.com). You can
download a fully functional trial. They supply a key that works for 4 days.
It costs some bucks ($99?) but I guess it is worth the money if you have
problems.
The steps to configure SOAPscope as a "forwarding SSL proxy" on your local
machine are described in the online help. You must also modify your .NET
client code (C# sample in online help provide).
I tested with my HTTPS based WS and got it working.
"MR" <co******@newsgroup.nospam> schrieb im Newsbeitrag
news:OZ**************@TK2MSFTNGP14.phx.gbl... sorry to keep being a pain... but
i get the trace using the proxy, but i now timeout when i use the proxy, and it works fine when i don't. is there something else i need to change? thanks again
(older messages deleted) This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: olav_net |
last post by:
Hi, I am new to PHP (but a relatively experienced developer).
I am trying to debug a client/server combination using NUSOAP,
but I am not able to find a way to do that!
I have spent days playing with Zend, but I haven't found a way to debug
it without a start page.
How can I do this?
(Know there are some other environments, but it...
|
by: RedHat_79 |
last post by:
Hello everybody, I have already found a fair bit of information
regarding on this group however I wouldn't mind expanding that a bit
if possible. :)
I am at the moment weighing my options in regards to developing a
distributed system. Some of the key characteristics are:
a) The server, apart from listening for client RPC's, must also...
|
by: Dan V. |
last post by:
What are the differences between XML-RPC and SOAP 1.1? Thanks for any help.
Can I read XML-RPC into .NET? Or should I use SOAP 1.1 to get into .NET? I
may have no choice.
Here is an example of XML-RPC data we would receive:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request...
|
by: Daniel Thune, MCSE |
last post by:
I am having a problem with formatting a SOAP Header in a .Net client. The
client calls a Java Axis 1.1 based web service. In order to authenticate the
caller, the web service call is intercepted by another web service that
validates a security token in the header.
I have pasted my current SOAP message that my code sends as captured from a...
|
by: Matt Wood |
last post by:
Hi,
I have written a Web Service for a customer which expects a SOAP message
with Document/Literal encoding, and uses
RoutingStyle=SoapServiceRoutingStyle.RequestElement to route the SOAP body
message to my Web Method. The Web Method expects a string as its parameter
and then feeds that string to an XML deserializer which maps the XML...
| |
by: Hennesey |
last post by:
Hello all,
I am developing a Visual Studio .Net 2005 application that consumes an Axis
1.3 web service.
Importing the WSDL file generates an error "cannot resolve apachesoap:Map
type"
What's wrong? Does the JAVA guy has to correct something?
|
by: martin.skarsaune |
last post by:
Hi all!
I have a couple of questions regarding the SOAP serialized from classes
generated by Visual Studio from a wsdl. The SOAP server is written in
Smalltalk using the VisualAge Sst framework. There are some differences in
the SOAP messages constructed from the WSDL in the two products, and I need
help to better understand and control the...
|
by: wbsurfver |
last post by:
I have been trying to figure out apache/rampart soap security. We
have a soap server in java and the client is PHP. I just read this
article which concerns me because it seems to imply rampart/java won't
work with PHP. Are there any other good solutions, particularly simple
ones ? I have been trying to get rampart/java working for the past 3...
|
by: Andrew 2006 |
last post by:
Hi there,
I'm trying to understand the differences between sending XML over TCP
and XML over HTTP (SOAP). However I'm not having much luck finding
good articles on the www.
Can anyone recommend a good web page that explains the differences?
Many thanks
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it. ...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...
| |