Как отправить пользовательские заголовки из Flex в веб-сервис в C #? - PullRequest
0 голосов
/ 12 ноября 2009

Я искал в Интернете, но не получаю

Это мой гибкий код:

private function callWS():void{
    var ws:WebService = new WebService();
    //changed this
    ws.addHeader(new SOAPHeader(new QName("uri","header1"),{AUTH:"bla"}));

    ws.loadWSDL("http://localhost:49548/test/WebService1.asmx?WSDL");

    ws.HelloWorld.addEventListener(ResultEvent.RESULT, onResult);
    ws.HelloWorld.addEventListener(FaultEvent.FAULT, onFault);
    ws.HelloWorld();
}

private function onResult(e:ResultEvent):void{

}
private function onFault(e:FaultEvent):void{

}

и это мой код c # (те же самые старые значения по умолчанию):

[WebMethod]
public string HelloWorld()
{
    //what to do here?
    return "Hello World";
}

как мне использовать auth в c #?

1 Ответ

0 голосов
/ 13 ноября 2009

Я узнал как, я опубликую это здесь, но если вы знаете лучший способ, пожалуйста, скажите

гибкий код

private function callWS():void{
        var ws:WebService = new WebService();

        ws.addHeader(new SOAPHeader(new QName("http://tempuri.org/","Auth"),{usr:"woosh"}));

        ws.loadWSDL("http://localhost:49548/test/WebService1.asmx?WSDL");

        ws.HelloWorld.addEventListener(ResultEvent.RESULT, onResult);
        ws.HelloWorld.addEventListener(FaultEvent.FAULT, onFault);
        ws.HelloWorld();


       }

в C # Я сделал это

    /// <summary>
    /// Summary description for WebService1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    public class WebService1 : System.Web.Services.WebService
    {
        public Auth auth;
        [WebMethod]
        [SoapHeader("auth")]
        public string HelloWorld()
        {

            return auth.usr;
        }
    }

    public class Auth : SoapHeader
    {
        public string usr;
    }
...