2014-04-08 72 views
0

我從一個WSDL文件開始,並使用「添加服務引用」功能來生成代理類。該服務器是Java/Axis。空的soap:從Windows Phone撥打網絡服務時的正文8

我使用下面的代碼:

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

我的回調是非常簡單的,只是爲了驗證在該設置是OK的開始。

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> 
+0

當你說服務器響應請求中沒有主體時,你究竟是什麼意思?它是否會返回500錯誤代碼的錯誤? –

+0

另外,僅供參考,WSDL中的端點僅用於提示。它可能不是現場服務的終點。 –

+0

@JohnSaunders它返回500,端點URI是正確的 – cateof

回答

0

嘗試使用同步方法:

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獲得服務?