Frage

Vorabinfo:Ich lerne, Orchestrierung von Webmethoden (WM) zu verwenden.Ich habe Lektionen mit Assings, Aufrufen von Webmethoden und etwas Parallelverarbeitung in BPEL erfolgreich abgeschlossen.Ich verwende Eclipse Indigo 3.7.1 mit BPEL-Plugins, Tomcat7-Server mit Apache Ode als Orchestrierungsbasis.Auf der anderen Seite muss ich lernen, gesicherte WMs aufzurufen, die auf der Mono .Net-Plattform geschrieben sind.

Jetzt haben:Jetzt habe ich Probleme beim Aufrufen IRGENDEINER Webmethoden.Ich habe gemacht:1) Web-Methode, die von Mono .Net ausgeführt wird – funktioniert, kann mit dem Browser (http://localhost:8081/hwws.asmx) getestet werden und mit dem Eclipse-Tool „Web Services Explorer“ funktioniert es einwandfrei.2) mein BPEL, der diese .Net-Webmethode nur über den SOAP-Port aufruft.3) Auf einer anderen Arbeitsstation habe ich einen .NET-Dienst mit Visual Studio erstellt.Da es auch Fehler gibt, werde ich den Text bei Bedarf später posten.

Problem: Ich erhalte Fehler beim Aufrufen.

Bildschirme:1) Browser -Test von .NET WS HW (HelloWorld) http: // foto -hosting.winsoftmagic .com/ 1/ s4nbwdsqib.jpg 2) Eclipse -Test von .NET WS HW http://photo-hosting.winsoftmagic.com/1/zywnl2wtgu.jpg3) Fehler, den ich bekomme http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg

Fehlerliste:

18:15:25,294 WARN ExternalService Fehlerreaktion:faultType = (Unkown) SOAP: Client kann nicht die SOAP -Nachricht 18: 15: 25.376 Fehler beim Aufrufen des Fehlers aufnehmen:18:15:25.382 INFO BpelRuntimeContextImpl ActivityRecovery:Registrierungsaktivität 11, Fehlergrund:auf Kanal 21

Und später wird ein Timeout-Fehler angezeigt.Ich habe mich bereits eine Woche lang mit diesen Problemen beschäftigt und nach allen Möglichkeiten gesucht, die mir einfielen.

EDIT 12.03.2012:

Jetzt hat der Test mit Mono-WS aus irgendeinem Grund funktioniert.Ich habe versucht, WS über das Internet anzurufen, und es gab den gleichen Fehler wie am Arbeitsplatz:

14:25:16,177 ERROR [INVOKE] Fehler beim Aufruf:Fehler beim Senden der Nachricht (mex={PartnerRoleMex#hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/}inetWS-24] beim Aufruf von org.apache.ode.bpel.epr.WSAEndpoint@1e3a4c7.checkText(...) Status ASYNC} ):Der Eingabestream für eine eingehende Nachricht ist null.14:25:16.178 INFO [BpelRuntimeContextImpl] ActivityRecovery:Registrierungsaktivität 11, Fehlergrund:Fehler beim Senden der Nachricht (mex={PartnerRoleMex#hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/}inetWS-24] beim Aufruf von org.apache.ode.bpel.epr.WSAEndpoint@1e3a4c7.checkText(...) Status ASYNC} ):Der Eingabestream für eine eingehende Nachricht ist null.auf Kanal 21

Gleichzeitig funktioniert dieser Dienst von allen Testformen aus.

Bearbeiten:16.03.2012

Meine Mono-Methode funktionierte ohne mein Verständnis nicht mehr so, wie sie begonnen hatte.TcpMon-1.1.jar zeigt erneut die folgende Meldung:

POST /hwws.asmx HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://hwws.tps/HelloWorld"
User-Agent: Axis2
Host: localhost:8092
Transfer-Encoding: chunked <--- EDITED: REASON OF NOT WORKING ----

31c
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8092/hwws.asmx</addr:To>
<addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing">http://hwws.tps/HelloWorld</addr:Action>
<addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo>
<addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr74k7fapcntd</addr:MessageID>
</soapenv:Header>
<soapenv:Body><HelloWorld xmlns="http://hwws.tps/">
<s0:st xmlns:s0="http://hwws.tps/">My test message</s0:st>
</HelloWorld></soapenv:Body></soapenv:Envelope>
0

HTTP/1.0 500 Internal Server Error
Date: Fri, 16 Mar 2012 08:01:50 GMT
Server: Mono.WebServer2/0.4.0.0 Unix
Connection: close
X-AspNet-Version: 4.0.30319
Content-Length: 366
Cache-Control: private
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><soap:Fault><faultcode>soap:Client</faultcode>
<faultstring>Could not deserialize Soap message</faultstring>
</soap:Fault></soap:Body></soap:Envelope>

Eigentlich bekomme ich einen von 3 Fehlern:Konnte nicht deserialisiert werden. Der Eingabestream für eine eingehende Nachricht ist null oder hat gestern sogar den Fehler 411 angezeigt :) P.s.Hatte auch den 4. Fehler, bei dem keine Steckdose angeschlossen war, aber alle verschwanden.

Mein Hauptziel sind SSL+Autorisierungs-.net-Dienste – ich wäre Ihnen dankbar, wenn Sie Beispiele hätten.Vielen Dank an alle!Es ist wirklich eine Freude, Ihre Hilfe zu sehen:)

War es hilfreich?

Lösung

Vielen Dank an alle, der Seifenkörpertest hat gezeigt, dass er gut ist und Problem war drin Header-Teil, der etwas seltsam war „Chunked“ und Zahlen vor XML (Länge des XML-Textes) und 0 nach XML-Ende.Ich habe gerade setze http.request.chunk=false Und jetzt funktioniert es bei allen meinen Tests noch.Zu diesem Zweck herunterladen sample.endpoint aus http://ode.apache.org/endpoint-configuration.html , benannte es in bpel-Namen um (MonoCaller.bpel => MonoCaller.endpoint).Die Zeichenfolge für Chunked wurde bereits kommentiert.Und außerdem etwas hinzugefügt wie http.default-headers.authorization=Basic <64b code of „login:password“ made in any coder> für Autorisierungszwecke und es funktioniert jetzt auch!:-]

Andere Tipps

Der gleiche Fehler ist bei mir aufgetreten. Das Problem lag am Webdienst selbst. Ich hatte einen leeren Konstruktor und die Methoden, die ein Problem verursachen. Die Lösung ist um den Konstruktor zu löschen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top