Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
über webservice email versenden
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

über webservice email versenden

beantworten | zitieren | melden

hallo,

ich habe in flash ein kontakt formular gebastelt. jetzt ist es aber ziehmlich doof dass sich beim besucher outlook öffnet und er erst das absenden der email bestätigen muss...

dachte da waehre ein webservice in c# ganz nett...

kann mir vielleicht direkt jemand sagen wie ich es in der hello world schaffe dass eine email versand wird mit dem betreff den ich der asmx beim aufruf übergeb?

public string HelloWorld() {
return "Hello World";
}


oder vielleicht gute quellen?



MfG
s0h0
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

ok ich hab nun doch erstmal demit angefangen den service aus aeiner aspx heraus aufzurufen.


nun kommt aber die JS fehlermeldung = "Erlaubnis verweigert"

dateien (default.aspx und service.asmx,service.cs) liegen nebeinanderauf ddem server.

kann mir da jemand helfen please?

viiielen dank

das ist die default.aspx
<html>
<body>
<script language="jscript">

        function btn_click (a, b)
        {
        var xmlRequest;
                var xmlObj = new ActiveXObject("Msxml2.DOMDocument") ;
                var sXml  = "<?xml version=\"1.0\" ?>" ;
                      sXml += "<soap:Envelope "
                      sXml += "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " ;
                      sXml += "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " ;
                      sXml += "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" ;
                      sXml += "<soap:Body>" ;
                      sXml += "<Add xmlns=\"http://tempuri.org/\">" ;
                      sXml = sXml + "<a>" + a.value  + "</a>" ;
                      sXml = sXml + "<b>" + b.value  + "</b>" ;                      
                      sXml += "</Add></soap:Body></soap:Envelope>"
                
	   // Try to parse the XML string into DOM object 
                xmlObj.loadXML(sXml) ;
                
	   //To see the validated XML string is well-formed 
               // XmlRequest.innerText =  xmlObj.xml  ;
                 document.getElementById('TextBox1').Text = xmlObj.xml;
                
                var xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP") ;
                xmlHTTP.Open ( "Post", "http://localhost/ASP.NET/Service.asmx", false) ;
                xmlHTTP.setRequestHeader("SOAPAction", "http://tempuri.org/Add") ;
                xmlHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8" ) ;
                xmlHTTP.Send(xmlObj.xml) ;
               document.getElementById('TextBox1').Text += xmlHTTP.responseText ;
                
                var xmlResponse = xmlHTTP.responseXML ;
             //   answer.innerText = xmlResponse.selectSingleNode("soap:Envelope/soap:Body/AddResponse/AddResult").text ;
        }
</script>

<form runat="server">
        <p>Please input a:<input id="a" name="a"></input></p>
        <p>Please input b:<input id="b" name="b"></input></p>
        <p>
        <input type="button" id="btn"  value="Enter" 
                onclick="btn_click(a, b)"></input>
        </p>
        <p>Answer is 
            <asp:TextBox ID="TextBox1" runat="server" Width="580px"></asp:TextBox></p>
        <hr></hr>
        <p>Request:</p>
        
        <p>Response:</p>
        
        
</form>

</body>
</html>


und das die service.cs
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://microsoft.com/webservices/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service () 
    {
        //Auskommentierung der folgenden Zeile bei Verwendung von Designkomponenten aufheben 
        //InitializeComponent(); 
 
    
    }


    [WebMethod()]
    public int Add(int a, int b)
    {
        return a + b;
    }


    
}
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von s0h0 am .
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

wenn ich statt

xmlHTTP.Open ( "Post", "http://localhost/ASP.NET/Service.asmx", false) ;

es so mache
xmlHTTP.Open ( "Post", "Service.asmx", false) ;


dann passiert garnix bei klick uf den button...
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

xmlHTTP.Open ( "Post", "http://www.l-ang.de/Service.asmx", false) ;
hmmm ok, jetzt gehts mit der vollen url. zumindest fragt er mich beim buttonclick ob ich die informationen abrufen möchte...

aber dann passiert nix weiter. im jscript sag ich doch aber eigentlich dass er mir das in die textbox schreiben soll.
?(
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

beantworten | zitieren | melden

Sag mal warum verwendest du denn dafür Javascript? Warum machst du es nicht direkt im CodeBehind mit C#? Da sparst du dir auch den Umweg mit dem WebService (es sei denn das möchtest du unbedingt so machen).

Es gibt da direkt ne Klasse zum Mailversand.


ciao Anke
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

hi,

am ende möchte ich dass der webservice von einem flashfilm aufgerufen wird mit einem wert. deshalb der webservice.

javascript habe ich hier deswegen verwendet, weil ich nichts anderes gefunden habe womit ich es erstmal soweit hinbekommen hab...


ja, den mailversand wollte ich von der asmx datei aus vornehmen.



hast du vielleicht ein wenig code für mich wie ich ich der cs datei den service aufrufen und den rückgabe wert ausgeben kann?

oder welche klasse brauche ich dafuer?


danke
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von s0h0 am .
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

beantworten | zitieren | melden

Ist der WebService in einem anderen Projekt oder liegt er direkt mit in der Anwendung?

Du kannst einfach eine Instanz der Klasse erzeugen und dann die Methode aufrufen, wenn der Webservice mit in der Anwendung liegt.
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

hab mir jetzt das zusammengebastelt. aber es kommt imme die fehlermeldung

"'100' ist ein unerwartetes Token. Das erwartete Token ist '"' oder '''. Zeile 20, Position 65.
"

was soll das bedeuten?



die url musste ich verfälschen...

protected void Button1_Click(object sender, EventArgs e)
    {
        
      //  doc.Load(Server.MapPath(@"kontakt.xml"));

        XmlDocument doc = new XmlDocument();


        // xml aus page lesen
        System.Net.WebRequest req = System.Net.HttpWebRequest.Create("http://www.fickmatratze.de/Service.asmx/Add");
        System.Net.WebResponse resp = req.GetResponse();
        XmlDocument xDoc = new XmlDocument();
        StreamReader r = new StreamReader(resp.GetResponseStream());
        xDoc.LoadXml(r.ReadToEnd());
    }


so sieht der service aus:
   public string Add()
    {
        return "silk";
    }
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von s0h0 am .
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

ja, die files liegen im gleichen verzeichnis.

kannst du mir dass zeigen wie ich das machen kann?
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers
s0h0
myCSharp.de - Member



Dabei seit:
Beiträge: 683
Herkunft: Nürnberg

Themenstarter:

beantworten | zitieren | melden

bist ein schatz


Service sv = new Service();


funktioniert
Eine Null kann ein bestehendes Problem verzehnfachen
private Nachricht | Beiträge des Benutzers