Я нахожусь в процессе создания системы, которая отправляет определенные пользовательские данные в веб-сервис. В основном, пользователь вводит свое имя, номер телефона и номер ссылки. Затем он выбирает, вызывать ли его немедленно или в определенное время. Эта информация, которая отправляется, затем добавляется в систему номеронабирателя, и из нее создаются обратные вызовы.
Мне предоставили некоторую документацию службы сайта. К сожалению, как работать с ним все еще ускользает от меня. Я разработал форму и добавил необходимые проверки. Документация добавляет это:
Хранимая процедура будет принимать имена и значения полей
- a) Процесс будет выполнен по требованию.
- b) Отметить отклоненные записи (номер телефона не указан для номеров контактов ИЛИ номер контакта имеет недопустимую длину НЕ от 10 до 15).
- в) Введите действительные номера телефонов из коллекции параметров. Amcat добавит начальный 0 (ноль) к номеру телефона, если он не существует
- d) Вставьте номера телефонов в таблицу ContactPhoneNumbers.
- e) Вставьте данные в таблицы ContactInfo и ContactDetails с предоставленными параметрами. Значение по умолчанию будет вставлено, если значение параметра не указано.
- f) Если имя поля, указанное в XML, не существует, веб-служба выдаст предупреждение в виде строки, но контактный номер все равно будет введен и отправлен на набор номера.
- г) Верните необходимые данные для выполнения мгновенного набора.
И это тот формат XML, который ожидается ... Мои извинения, если он довольно длинный:
<?xml version="1.0" encoding="utf-8" ?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="Call">
<s:element name="CallResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CallResult"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="string" nillable="true" type="s:string" />
</s:schema>
</wsdl:types>
<wsdl:message name="CallSoapIn">
<wsdl:message name="CallSoapOut">
<wsdl:part name="parameters" element="tns:CallResponse" />
</wsdl:message>
<wsdl:message name="CallHttpGetIn">
<wsdl:part name="xmlString" type="s:string" />
</wsdl:message>
<wsdl:message name="CallHttpGetOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
<wsdl:message name="CallHttpPostIn">
<wsdl:part name="xmlString" type="s:string" />
</wsdl:message>
<wsdl:message name="CallHttpPostOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
<wsdl:portType name="CallRequestSoap">
<wsdl:operation name="Call">
<wsdl:input message="tns:CallSoapIn" />
<wsdl:output message="tns:CallSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="CallRequestHttpGet">
<wsdl:operation name="Call">
</wsdl:portType>
<wsdl:portType name="CallRequestHttpPost">
<wsdl:operation name="Call">
<wsdl:input message="tns:CallHttpPostIn" />
<wsdl:output message="tns:CallHttpPostOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CallRequestSoap" type="tns:CallRequestSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<wsdl:operation name="Call">
<soap:operation soapAction="http://tempuri.org/Call" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="CallRequestHttpGet" type="tns:CallRequestHttpGet">
<http:binding verb="GET" />
<wsdl:operation name="Call">
<http:operation location="/Call" />
<wsdl:input>
<http:urlEncoded />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="CallRequestHttpPost" type="tns:CallRequestHttpPost">
<http:binding verb="POST" />
<wsdl:operation name="Call">
<http:operation location="/Call" />
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CallRequest">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/" />
<wsdl:port name="CallRequestSoap" binding="tns:CallRequestSoap">
<soap:address location="http://localhost/ClickToCall/CallRequest.asmx" />
</wsdl:port>
<wsdl:port name="CallRequestHttpGet" binding="tns:CallRequestHttpGet">
<http:address location="http://localhost/ClickToCall/CallRequest.asmx" />
</wsdl:port>
<wsdl:port name="CallRequestHttpPost" binding="tns:CallRequestHttpPost">
<http:address location="http://localhost/ClickToCall/CallRequest.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Я так потерян здесь, как мне сделать что-то подобное? Я знаю, что SOAP участвует в чем-то подобном ... но я понятия не имею, что делать ... Поэтому любая помощь будет признательна.
Спасибо
Sam