2009-11-29 3 views
1

Je suis en train de créer un système qui envoie des données utilisateur spécifiques à un service Web. Fondamentalement, l'utilisateur entre son nom, numéro de téléphone et numéro de référence. Il sélectionne ensuite s'il est appelé immédiatement ou à un moment précis. Cette information qui est envoyée est ensuite ajoutée à un système de numérotation et les appels sont générés à partir de.Envoi de données de formulaire au service Web + demande d'appel

J'ai reçu une documentation relative au service du site Web. Malheureusement, comment travailler avec ça m'échappe encore. J'ai conçu le formulaire et ajouté la validation requise. La documentation ajoute ceci:

La procédure stockée acceptera les noms de champs et les valeurs

  • a) Le processus exécutera la demande.
  • b) Marquer les enregistrements rejetés (aucun numéro de téléphone spécifié pour les numéros de contact OU le numéro de contact n'a une longueur non valide entre 10 et 15).
  • c) Insérer des numéros de téléphone valides à partir de la collecte de paramètres. Amcat ajoutera un 0 (zéro) au numéro de téléphone s'il n'en existe pas
  • d) Insérez les numéros de téléphone dans la table ContactPhoneNumbers.
  • e) Insérez les données dans les tables ContactInfo & ContactDetails avec les paramètres fournis. Une valeur par défaut sera insérée si aucune valeur de paramètre n'est spécifiée.
  • f) Si un nom de champ spécifié par le fichier XML n'existe pas, un avertissement sera renvoyé par le service Web sous la forme d'une chaîne, mais le numéro de contact sera toujours entré et envoyé à numéroter.
  • g) Renvoyer les détails requis pour effectuer une numérotation instantanée.

Et c'est le genre de format XML qui devrait ... Mes excuses si cela est assez long:

<?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> 

Je suis tellement complètement perdu ici, comment puis-je obtenir quelque chose comme ça terminé? Je sais que SOAP est impliqué dans quelque chose comme ça ... mais je n'ai aucune idée de ce qu'il faut faire ... Donc toute aide serait appréciée.

Merci

Sam

+0

Quelles technologies utilisez-vous? .NET? Java? Avez-vous oublié de publier le reste du document XML? –

+0

Son PHP en fait ... Je suis en train d'ajouter le reste du document, mais chaque fois que je fais, il disparaît [code] \t

+0

Vous pouvez trouver le code ici: http://pastebin.com/f12694e66 –

Répondre

1

Vous essayez de parler à un service Web SOAP. Faire cela à la main est très douloureux. Jetez un oeil à this comme un exemple d'un paquet à cet effet.

Questions connexes