Peter Nordberg
asked on
Sending xml request to a webservice
Hi,
I have to do an integration from a business system to a webservice. I'm supposed to send a code in xml to the webservice at this address:
http://dev.memnonnetworks.com/ws/services/ConsignmentWS?wsdl
Then I'm supposed to get a response.
The xml I have already created like this:
But I'm not sure how to send this request and then handle the response.
The manual is here!
http://www.spedpoint.com/static/specifications/ConsignmentWS(eng).pdf
If someone could just show me how to handle the request and response from the service I would be very grateful.
Peter
I have to do an integration from a business system to a webservice. I'm supposed to send a code in xml to the webservice at this address:
http://dev.memnonnetworks.com/ws/services/ConsignmentWS?wsdl
Then I'm supposed to get a response.
The xml I have already created like this:
Dim path As String = "c:\memnon.xml"
Dim writer As New XmlTextWriter(Server.MapPath("memnon.xml"), Encoding.GetEncoding(28591))
' start writing!
writer.Formatting = Formatting.Indented
'ResponseEncoding = "iso-8859-1"
writer.WriteStartDocument()
writer.WriteStartElement("ConsignmentList")
For Each item As GridDataItem In RadGrid1.Items
If item.Selected Then
Dim id As HiddenField = DirectCast(item.FindControl("id"), HiddenField)
Dim c As New orderDBL
c.GetPacsoftByID(id.Value)
Dim cTotal As New orderDBL
cTotal.GetOrderTotal(id.Value)
' ---- Authentication
writer.WriteStartElement("AuthenticationToken")
' ---Username
writer.WriteStartElement("userName")
writer.WriteString("user")
writer.WriteEndElement() ' userName
' -- groupname
writer.WriteStartElement("groupName")
writer.WriteString("groupname")
writer.WriteEndElement() ' end groupname
'-- password
writer.WriteStartElement("password")
writer.WriteString("password")
writer.WriteEndElement() ' end password
writer.WriteEndElement() ' end Authentication
'--- Consignment
writer.WriteStartElement("Consignment")
writer.WriteAttributeString("orderNo", c.orderID)
writer.WriteAttributeString("templateName", "Package")
' --- Part
writer.WriteStartElement("Part")
writer.WriteAttributeString("role", "consignee")
' ---Address
writer.WriteStartElement("Address")
' id
writer.WriteStartElement("id")
writer.WriteString(c.customerID)
writer.WriteEndElement() ' end id
' Name
writer.WriteStartElement("name")
writer.WriteString(c.FirstName & " " & c.LastName)
writer.WriteEndElement() ' --- end name
' adress
writer.WriteStartElement("address")
writer.WriteString(c.Address)
writer.WriteEndElement() ' -- end address
' postcode
writer.WriteStartElement("postcode")
writer.WriteString(c.Zip)
writer.WriteEndElement() ' end postcode
' city
writer.WriteStartElement("city")
writer.WriteString(c.City)
writer.WriteEndElement() ' end city
' countrycode
writer.WriteStartElement("countrycode")
writer.WriteString(c.countryCode)
writer.WriteEndElement() ' end countrycode
writer.WriteEndElement() ' --- End Address
' -- Communication
writer.WriteStartElement("Communication")
' contactperson
'writer.WriteStartElement("contactPerson")
'writer.WriteString("Kalle Persson")
'writer.WriteEndElement() ' end contactperson
' mobile
writer.WriteStartElement("mobile")
writer.WriteAttributeString("notify", StrConv(c.alertID, VbStrConv.Lowercase))
writer.WriteString(c.mobile)
writer.WriteEndElement() ' end mobile
writer.WriteEndElement() ' -- End communication
writer.WriteEndElement() ' --- End part
' --- GoodsItem
writer.WriteStartElement("GoodsItem")
' NoOfPackage
writer.WriteStartElement("noOfPackages")
writer.WriteString("1")
writer.WriteEndElement() ' End noOfPackages
' weight
writer.WriteStartElement("weight")
'writer.WriteString("1")
writer.WriteEndElement() ' end weight
writer.WriteEndElement() ' --- End GoodsItem
' --- TransportProduct
writer.WriteStartElement("TransportProduct")
writer.WriteStartElement("PaymentInstruction")
writer.WriteAttributeString("value", "P")
writer.WriteEndElement() ' End paymentInstr
writer.WriteEndElement() ' --- End Transportproduct
writer.WriteEndElement() ' --- End consignement
End If
Next
writer.WriteEndElement() ' consignmentList
writer.WriteEndDocument()
writer.Close()
But I'm not sure how to send this request and then handle the response.
The manual is here!
http://www.spedpoint.com/static/specifications/ConsignmentWS(eng).pdf
If someone could just show me how to handle the request and response from the service I would be very grateful.
Peter
you are supposed to have a method in webservice which either accepts string(xml string) or xmldocument as parameter.
Here is how to call the webservice dynamically.
http://msdn.microsoft.com/en-us/library/1k1skd40.aspx
You can also use Add web reference in visual studio and add service URL
Here is how to call the webservice dynamically.
http://msdn.microsoft.com/en-us/library/1k1skd40.aspx
You can also use Add web reference in visual studio and add service URL
ASKER
Hi,
Some code would be appreciated. The webservice address is like this:
http://dev.memnonnetworks.com/ws/services/ConsignmentWS?wsdl
The only xml I've created is the one above. In the example they have this xml to make an request but I'm not sure how to use it.
:
Peter
Some code would be appreciated. The webservice address is like this:
http://dev.memnonnetworks.com/ws/services/ConsignmentWS?wsdl
The only xml I've created is the one above. In the example they have this xml to make an request but I'm not sure how to use it.
:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://www.spedpoint.com/consignment/types" xmlns:v1="http://www.spedpoint.com/consignment/types/v1_0">
<soapenv:Header/>
<soapenv:Body>
<typ:book>
<AuthenticationToken>
<userName>user</userName>
<groupName>group</groupName>
<password>password</password>
</AuthenticationToken>
<Consignment orderNo="myorderno" automaticBooking="Y" templateName="testtemplate">
<!--1 or more repetitions:-->
<Part role="consignor" account="accountno">
<Address>
<v1:id>consignorID</v1:id>
<v1:name>consignor name</v1:name>
<!--1 or more repetitions:-->
<v1:address>Testgatan 1</v1:address>
<v1:postcode>11339</v1:postcode>
<v1:city>Stockholm</v1:city>
<v1:countrycode>SE</v1:countrycode>
</Address>
</Part>
<Part role="consignee">
<Address>
<v1:id>consigneeID</v1:id>
<v1:name>consignee name</v1:name>
<!--1 or more repetitions:-->
<v1:address>Testgatan 1</v1:address>
<v1:postcode>11339</v1:postcode>
<v1:city>Stockholm</v1:city>
<v1:countrycode>SE</v1:countrycode>
</Address>
</Part>
<!--1 or more repetitions:-->
<GoodsItem>
<v1:noOfPackages>1</v1:noOfPackages>
<v1:weight>1</v1:weight>
</GoodsItem>
<TransportProduct>
<PaymentInstruction value="P"/>
</TransportProduct>
</Consignment>
<transactionId>transactionid</transactionId>
</typ:book>
</soapenv:Body>
</soapenv:Envelope>
Peter
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
then you need to create object of this and you will find all the methods of that web service.
Let me know if you required code for this.
Give me web service address and the xml request that you have created.
hope this will help you.