<?xml version="1.0" encoding="utf-8" ?> - <wsdl:definitions name="Service" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"> - <wsdl:types> - <xsd:schema targetNamespace="http://tempuri.org/Imports"> <xsd:import schemaLocation="http://server.company.nl/NavService/Service.svc?xsd=xsd0" namespace="http://tempuri.org/" /> <xsd:import schemaLocation="http://server.company.nl/NavService/Service.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> </xsd:schema> </wsdl:types> - <wsdl:message name="IService_SendMessage_InputMessage"> <wsdl:part name="parameters" element="tns:SendMessage" /> </wsdl:message> - <wsdl:message name="IService_SendMessageToQueue_OutputMessage"> <wsdl:part name="parameters" element="tns:SendMessageResponse" /> </wsdl:message> - <wsdl:portType name="IService"> - <wsdl:operation name="SendMessage"> <wsdl:input wsaw:Action="http://tempuri.org/IService/SendMessage" message="tns:IService_SendMessage_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IService/SendMessageResponse" message="tns:IService_SendMessage_OutputMessage" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="BasicHttpBinding_IService" type="tns:IService"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="SendMessage"> <soap:operation soapAction="http://tempuri.org/IService/SendMessage" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> - <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="Service"> - <wsdl:port name="BasicHttpBinding_IService" binding="tns:BasicHttpBinding_IService"> <soap:address location="http://server.company.nl/NavService/Service.svc" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
IF ISCLEAR(XMLDoc) THEN CREATE(XMLDoc); XMLDoc.load(Instr); IF ISCLEAR(XMLHttpConn) THEN CREATE(XMLHttpConn); XMLHttpConn.setRequestHeader('Host','?????'); XMLHttpConn.setRequestHeader('SOAPAction','?????'); XMLHttpConn.setRequestHeader('Content-Type','text/xml'); XMLHttpConn.send(XMLDoc); XMLHttpConn.waitForResponse(1000); TxtResponse := FORMAT(XMLHttpConn.status);
Comments
What You need to paste the xml file and not copy and paste what IE is rendering. To do that. Save WSDL as xml file and then open it in Notepad and paste the code.
We can then help you with the code on how to communicate with web service.
Could you also post the address for WSDL?
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Thanks for your reply. The WSDL is only addressable on our intranet, so posting the url to it won't be of any use I'm afraid.
I'm pretty new to webservices, so I hope I followed your directions correctly:
The function (or method) I have to call is SendMessageToQueue, and I have to pass 3 parameters to it (two ID's and the output of the xmlport).
Thanks in advance for your effort!
One suggestion is to start visual studio and try and consume the webservice and see that it works.
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
I managed to call the server (the webservice has been changed to a classic one) and sent some xml (and get something back). It works fine, as long as the xml that I send does match the xml that the service is expecting.
But now the problem: we intend to use this service for exchanging changes on some 15 different master data tables. For example: when a field in de customer table changes, I want to send the modified data over to the webservice. So the xml that I want to send to the service varies per master table. For the currency table, the layout of the xml will be different.
So I have 15 different xmlports that produce 15 different xmlfiles for 15 different master tables. I want to be able to sent these files to the same classic webservice. How can I achieve that? A collegue that handles the .net side of the service brought up 'streaming of the xml files', but I have no clue on that matter. Do you have an idea? The service that has to be called is an internal one, so we can make modifications to that if that's necessary.
Best regards,
Jes