La demande a échoué avec l'état HTTP 404: Pas Trouvé
Je suis en train d'appeler le php web service soap de la .Net Client mais j'obtiens l'erreur suivante:
System.Net.WebException was unhandled by user code
Message="**The request failed with HTTP status 404: Not Found**."
Source="System.Web.Services"
StackTrace:
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at php_webservice_test_CS.WebReference.MyService.testServer() in c:\documents and settings\gdeshpande.parcdev.003\my documents\visual studio 2008\projects\php_webservice_test_cs\php_webservice_test_cs\web references\webreference\reference.cs:line 79
at php_webservice_test_CS._Default.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\gdeshpande.PARCDEV.003\My Documents\Visual Studio 2008\Projects\php_webservice_test_CS\php_webservice_test_CS\Default.aspx.cs:line 23
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
Je ne suis pas en mesure d'obtenir le problème est que php est un serveur Soap côté ou de l' .Net côté client. Je suis nouveau en php.
s'il vous plaît aider qui que ce soit.
Suivant est le serveur SOAP code:
ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("http://10.20.1.161/api/soap/report.wsdl");
$server->addFunction("testServer");
$server->handle();
suivant est le SAVON .Net code Client:
protected void Page_Load(object sender, EventArgs e)
{
try
{
MyService ms = new MyService();
Object ac = ms.testServer();
}
catch (Exception ae)
{
Response.Write(ae);
}
}
Je voudrais partager mon WSDL c'est comment il est...
<wsdl:definitions xmlns:tns="http://10.20.1.161/api/soap/"
targetNamespace="http://10.20.1.161/api/soap/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<wsdl:types>
<s:schema targetNamespace="http://10.20.1.161/api/soap/">
<s:complexType name="stringArray">
<s:annotation>
<s:documentation> A string array type </s:documentation>
</s:annotation>
<s:complexContent>
<s:restriction base="soapenc:Array">
<s:attribute ref="soapenc:arrayType" wsdl:arrayType="s:string[]"/>
</s:restriction>
</s:complexContent>
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="reportRequest" />
<wsdl:message name="reportResponse">
<wsdl:part name="resParam" type="tns:stringArray"/>
</wsdl:message>
<wsdl:portType name="MyPortType">
<wsdl:operation name="testServer">
<wsdl:documentation> Get a complex type object </wsdl:documentation>
<wsdl:input message="tns:reportRequest"/>
<wsdl:output message="tns:reportResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MyPortType" type="tns:MyPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="testServer">
<soap:operation soapAction="http://10.20.1.161/api/soap/testServer"/>
<wsdl:input>
<soap:body use="encoded" namespace="http://10.20.1.161/api/soap/"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://10.20.1.161/api/soap/"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MyService">
<wsdl:port name="MyPortType" binding="tns:MyPortType">
<soap:address location="http://10.20.1.161/api/soap/parc_web_servise.php"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
S'il vous plaît aider..
- Pouvez-vous réellement vue. 10.20.1.161/api/soap/rapport.wsdl dans votre navigateur? Est votre serveur php en cours d'exécution?
404 not found
est assez clair, n'est-ce pas? Êtes-vous sûr que l'URL est correcte?- Télécharger l'URL du WSDL-vous dans un navigateur. Au bas sera l'URL du point de terminaison de votre client va être d'essayer de les utiliser. Pouvez-vous voir que l'URL n'existe pas / travail à l'extérieur de la requête SOAP?
- bonjour Mike de de Klerk, merci pour la réponse, oui l'url fonctionne très bien dans le navigateur web, alors même que l'ajout de la refrence de l' .projet net aucune erreur n'est affiché...quand je fais un appel, le message d'erreur "http 404" est affiché
- salut les Rup, merci pour la réponse, comment dois-je télécharger l'url du wsdl, si c'est à l'aide de 10.20.1.161/api/soap/rapport.wsdl, alors c'est woking bien dans le navigateur..
- Oui, c'est ce que je voulais dire: ouvrir 10.20.1.161/api/soap/rapport.wsdl dans un navigateur et vous devriez obtenir un document XML. (Vous devrez "afficher la source".) Rechercher un "point de terminaison' élément: ce sera l'URL de votre .NET client est en train d'essayer de l'utiliser. Assurez-vous que cette URL est correct et fonctionne. Sinon, vous pouvez probablement trouver dans le client de service web propriétés dans votre .Un projet de réseau.
- salut les Rup, merci, comme vous l'avez dit j'ai parcouru l'url du wsdl et viewd la source, mais je ne pouvais pas trouver le "point de terminaison" dans l'élément XML. Est-il quelque chose qui manque avec le WSDL, s'il vous plaît répondre.
- salut Peeka, merci pour la réponse, '404 non trouvé" comme je l'ai googlé dit que le serveur de relation est disponible, mais la ressource est introuvable. mais WSDL url fonctionne très bien. Est-il thign manquant de le WSDL. s'il vous plaît répondre.
- Droit - je voulais dire le
<soap:address>
tag. (Je pensais que c'était appelée<soap:endpoint>
désolé.) Ne l'URL il y a du travail?http://10.20.1.161/api/soap/parc_web_servise.php
Il y a une erreur d'orthographe: il doit être "service" avec un "c", mais tant que le serveur a la même orthographe, c'est OK. - salut les Rup, Merci pour la réponse, c'était bien l'un que vous l'avez fait remarquer la faute d'orthographe "service" avec un " c "au lieu de" s " en elle. Merci beaucoup pour la solution, reste fonctionne bien. encore une fois merci Rup.
Vous devez vous connecter pour publier un commentaire.
Vous avez obtenu de réponse 404 ,404 ou n'a Pas Trouvé de message d'erreur HTTP standard code de réponse indiquant que le client a été en mesure de communiquer avec le serveur, mais le serveur n'a pas pu trouver ce qui avait été demandé.
Assurez-vous que vous avez d'url valide, essayez de mettre votre lien dans le navigateur et voir si elle est correcte, si l'url que vous avez demandés ont des en-têtes spéciaux Il est utile d'extension sur google chrome nommé Facteur que vous pouvez ajouter les en-têtes que vous le souhaitez et de tester l'url
Joindre tous les droits IIS.
Panneau de configuration -> Windows Activer Désactiver l'