zorba111
asked on
My first SOAP client. I have constructed the XML message... how to send?
I'm using C# to write something to make it easier to post my company's jobs.
One of the job boards allows us to upload jobs using a webservice, and we have to send it a SOAP envelope.
(see section "Create the XML Request" on page http://partner.monster.com/real-time-posting-devguide )
I have constructed my XML as a System.String based on user input in a form. I based it on the XML example given by the webservice provider.
I haven't used SOAP before so I thought I could just POST the XML to the URL using HttpWebRequest, as I did this with another more basic webservice (see earlier post: https://www.experts-exchange.com/questions/28708426/use-C-to-attach-to-a-URL-and-get-an-XML-feed.html). However I got a 400 error.
So I googled sending a SOAP message and I got this:
https://msdn.microsoft.com/en-us/library/aa529276.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3
But it doesn't allow (or so it seems to me) to just append the *already formed* XML message and simply send it (or am I wrong).
(on top of that the SOAPClient class is in microsoft.web.services3.dl l which aint on my machine)
So maybe looking for another way...
Any tips guys?
thanks
One of the job boards allows us to upload jobs using a webservice, and we have to send it a SOAP envelope.
(see section "Create the XML Request" on page http://partner.monster.com/real-time-posting-devguide )
I have constructed my XML as a System.String based on user input in a form. I based it on the XML example given by the webservice provider.
I haven't used SOAP before so I thought I could just POST the XML to the URL using HttpWebRequest, as I did this with another more basic webservice (see earlier post: https://www.experts-exchange.com/questions/28708426/use-C-to-attach-to-a-URL-and-get-an-XML-feed.html). However I got a 400 error.
So I googled sending a SOAP message and I got this:
https://msdn.microsoft.com/en-us/library/aa529276.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3
But it doesn't allow (or so it seems to me) to just append the *already formed* XML message and simply send it (or am I wrong).
(on top of that the SOAPClient class is in microsoft.web.services3.dl
So maybe looking for another way...
Any tips guys?
thanks
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I'm using VS2008 and therefore .net 3.5
I think you can try that download link I included.
If you need them, here are detailed instructions for installing it.
http://digantakumar.com/2010/06/04/wse-3-in-visual-studio-2008-and-2010/
If you need them, here are detailed instructions for installing it.
http://digantakumar.com/2010/06/04/wse-3-in-visual-studio-2008-and-2010/
ASKER
Thanks Mark!
When I got stuck with doing it the "raw" way, I switched over to trying to do it using WCF. I'm making progress with that method, but too early to say for sure.
In any case I'm gonna come back to this and try your suggestions, after I've exhausted the WCF route - either to success or to deadlock lol.
When I got stuck with doing it the "raw" way, I switched over to trying to do it using WCF. I'm making progress with that method, but too early to say for sure.
In any case I'm gonna come back to this and try your suggestions, after I've exhausted the WCF route - either to success or to deadlock lol.
Why don't you just create a web service reference?
Steps to generate proxy interface to work with .net framework versions 2.0 and greater
Run (prefered):
SvcUtil.exe https://gateway.monster.com:8443/bgwBroker
Or:
wsdl.exe https://gateway.monster.com:8443/bgwBroker
Or (from Visual Studio)
And then use it like so:
Steps to generate proxy interface to work with .net framework versions 2.0 and greater
Run (prefered):
SvcUtil.exe https://gateway.monster.com:8443/bgwBroker
Or:
wsdl.exe https://gateway.monster.com:8443/bgwBroker
Or (from Visual Studio)
And then use it like so:
MonsterBusinessGatewayService.Job job = new MonsterBusinessGatewayService.Job();
job.jobAction = MonsterBusinessGatewayService.JobJobAction.add;
MonsterBusinessGatewayService.BusinessGatewayInterfaceClient gateway = new MonsterBusinessGatewayService.BusinessGatewayInterfaceClient();
gateway.UpdateJob(/*parameters here*/, job);
Just spotted your other question on the matter. The code snippet I posted there might help get you on the right track. If you look at the SOAP sample, you will what objects you need to construct and pass into the UpdateJob call, and what values you need to set.
ASKER
Open in new window
I get an exception on the WebClient.UploadString() call
exception message is "400: bad request"