簡體   English   中英

空肥皂:從Windows Phone 8調用Web服務時出現body

[英]Empty soap:body when calling a web service from windows phone 8

我從WSDL文件開始,並使用“添加服務引用”功能來生成代理類。 服務器是Java / Axis。

我正在使用以下代碼:

MyServiceClient c = new MyServiceClient();
c.getVersionStringCompleted += new EventHandler<getVersionStringCompletedEventArgs>(MyCallBack);
var r = new getVersionStringRequest { };
c.getVersionStringAsync(r);

我的回叫非常簡單,只需在開始時確認設置即可。

static void MyCallBack(object sender, getVersionStringCompletedEventArgs e) {
            Console.WriteLine("result {0}", e.ToString());
}

端點取自WSDL。

服務器響應,請求中沒有正文。

我的代碼有什么問題? 我正在運行Visual Studio 2013。

訪問服務的正確方法是什么?

我不確定是否需要,但是我在這里添加了conf文件:

<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="MyServiceSoapBinding" maxBufferSize="2147483647"
                    maxReceivedMessageSize="2147483647">
                    <security mode="None" />
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://135.99.14.73:8081/axis/services/MyService"
                binding="basicHttpBinding" bindingConfiguration="MyServiceSoapBinding"
                contract="LoginReference.MyService" name="MyService" />
        </client>
    </system.serviceModel>
</configuration>

嘗試使用同步方法:

ChannelFactory<LoginReference.MyService> myChannelFactory = new ChannelFactory<LoginReference.MyService>("MyService");

// Create a channel.
LoginReference.MyService wcfClient1 = myChannelFactory.CreateChannel();
string s = wcfClient1.getVersionString();
Console.WriteLine(s);
((IClientChannel)wcfClient1).Close();

您可以訪問服務日志嗎? 它說什么?

WCF測試客戶端工具怎么說? 您是否嘗試通過Fiddler獲得服務?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM