vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ASP.NET, WebServices u. Remoting
Soap Message am Webservice abfragen 
Autor: schlumpfger
Datum: 29.06.07 10:03

Hallo,

Ich ärgere mich jetzt seit mehren Tagen mit SOAP rum. Sämtliche Foren und Bücher die ich bisher durchforstet habe halfen mir nicht weiter. Vielleicht stelle ich mich auch einfach nur blöd an...

Ich muss einen Webservice schreiben der eine SOAP Nachricht übergeben bekommt. Die sieht in etwa so aus:
------=_Part_0_23641627.1164210640313
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: <7E4E070B032D5994F858AA42F62BFD3C>

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><Formulardaten xmlns=""><Benutzer xmlns=""></Benutzer><ofsXX1_knr_std xmlns=""></ofsXX1_knr_std><b12c96nfBehoerde_Amt xmlns=""></b12c96nfBehoerde_Amt><b12c96nfBehoerde_Strasse xmlns=""></b12c96nfBehoerde_Strasse><b12c96nfBehoerde_PLZ_Ort xmlns=""></b12c96nfBehoerde_PLZ_Ort><b12c96nfBehoerde_Sachbearbeiter_Name xmlns=""></b12c96nfBehoerde_Sachbearbeiter_Name><b12c96nfSachbearbeiter_Zimmernummer xmlns=""></b12c96nfSachbearbeiter_Zimmernummer><b12c96nfSachbearbeiter_Telefon xmlns=""></b12c96nfSachbearbeiter_Telefon><b12c96nfSachbearbeiter_Telefax xmlns=""></b12c96nfSachbearbeiter_Telefax><b12c96nfSachbearbeiter_E_Mail xmlns=""></b12c96nfSachbearbeiter_E_Mail><b12c96nfAntragsteller_Name xmlns="">Lindauer, Sebastian</b12c96nfAntragsteller_Name><b12c96nfAntragsteller_Vorname xmlns=""></b12c96nfAntragsteller_Vorname><b12c96nfAntragsteller_Strasse xmlns="">Winzerstraße 54</b12c96nfAntragsteller_Strasse><b12c96nfAntragsteller_PLZ xmlns="">75217</b12c96nfAntragsteller_PLZ><b12c96nfAntragsteller_Ort xmlns="">Birkenfeld</b12c96nfAntragsteller_Ort><b12c96nfAntragsteller_E_Mail xmlns="">sl@form-solutions.de</b12c96nfAntragsteller_E_Mail><b12c96nfAntragsteller_Telefon xmlns=""></b12c96nfAntragsteller_Telefon><b12c96nfAntragsteller_Fax xmlns=""></b12c96nfAntragsteller_Fax></Formulardaten></soapenv:Body></soapenv:Envelope>
------=_Part_0_23641627.1164210640313
Content-Type: application/pdf
Content-Transfer-Encoding: binary
Content-Id: <AE6A46625725C53EF70207E4D8E9277B>

%PDF-1.4
%âãÏÓ
1 0 obj <</Filter/DCTDecode/Type/XObject/Length 11581/BitsPerComponent 8/Height 400/ColorSpace/DeviceRGB/Subtype/Image/Width 131>>stream
ÿØÿà JFIF  d d ÿì Ducky   4 ÿî Adobe dÀ ÿÛ „  
usw...

Egal was ich anstelle, ich kann auf diese Nachricht nicht zugreifen. Sobald ich den Datentyp des übergebenen Parameters auf SoapMessage setze läuft der Webservice nicht mehr. Und bringt die für mich nichts sagende Fehlermeldung: Member System.Exception.Data vom Typ System.Collections.IDictionary kann nicht serialisiert werden, da es IDictionary implementiert.

Ich komm hier einfach nicht weiter...

Mein Webservice sieht momentan so aus:

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel

<System.Web.Services.WebService(Namespace:="http://lk-to-ccdms.de/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol



<WebMethod()> _
Public Function Get_Soap(ByVal message As SoapMessage)
Dim new_message As String
new_message = message.ToString()
My.Computer.FileSystem.WriteAllText("c:\temp\test.txt", new_message, False)
Return Nothing
End Function

End Class

Ich will erstmal irgendwas auf dem Webservice kriegen. Die ankommende Soapmessage soll dann auseinandergenommen werden in die einzelnen übergeben Parameter und die Anhänge.

Ich habe auch eine Lösung als Javawebservice vorliegen, aber es muss zwingend ein .Net Webservice sein.

Funktionierendes Beispiel Java:

package de.formsolutions.interfaces.webservice;

import java.io.File;
import java.util.Iterator;

import javax.activation.DataHandler;
import javax.xml.messaging.JAXMServlet;
import javax.xml.messaging.ReqRespListener;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;

import org.apache.axis.attachments.AttachmentPart;

import com.burg.ofs2.tools.PathsObject;

public class WebServiceReceiver extends JAXMServlet implements ReqRespListener {

/**
* Irgendeine ID - nicht benutzt
*/
private static final long serialVersionUID = 1L;

public SOAPMessage onMessage(SOAPMessage message) {

int atts = message.countAttachments();

System.out.println("***********");
System.out.println("Es sind " + atts + " Attachments angehänt!");
System.out.println("***********");

Iterator it = message.getAttachments();

usw...

Ich habe echt keine Idee mehr...
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Soap Message am Webservice abfragen5.239schlumpfger29.06.07 10:03
Re: Soap Message am Webservice abfragen1.615shitzit14.08.07 14:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel