2014-08-29 26 views
0

我有一個在SAP的Web服務,我必須建立一個C#客戶端到Web服務。我創建客戶端,但收到C#的錯誤。錯誤是這樣的:C#錯誤思想到SAP中的web服務

Object reference not set to an instance of an object. 

我的客戶來源是這樣的:

Uri uri = new Uri("http://address"); 
var address = new EndpointAddress(uri, EndpointIdentity.CreateSpnIdentity("teste")); 
ServiceReference2.ZWS_PEP_ENVIO_MRZClient wsclient = new ServiceReference2.ZWS_PEP_ENVIO_MRZClient(); 
// wsclient.Endpoint.Binding.Scheme; 
wsclient.ClientCredentials.UserName.UserName = "user_name"; 
wsclient.ClientCredentials.UserName.Password = "password"; 
wsclient.Endpoint.Address = address; 
wsclient.Open(); 


ServiceReference2.ZwsPepEnvioMrz request = new ServiceReference2.ZwsPepEnvioMrz(); 
request.Descricao = descricaoField; 
request.Mrz1 = mrz1Field; 
request.Mrz2 = mrz2Field; 
request.Numeroprocesso = numeroprocessoField; 
request.Sn = snField; 
request.Statusdatapreparation = statusdatapreparationField; 
request.Versaodocumento = versaodocumentoField; 

wsclient.ZwsPepEnvioMrz(request); 
ServiceReference2.ZwsPepEnvioMrzResponse1 response = new ServiceReference2.ZwsPepEnvioMrzResponse1(); 
Resultado = response.ZwsPepEnvioMrzResponse.ToString(); 
textBox1.Text = Resultado; 


wsclient.Close(); 

而且程序終止在

Resultado= response.ZwsPepEnvioMrzResponse.ToString() 

任何想法,爲什麼?

+0

添加斷點並查看哪個變量'response'或'response.ZwsPepEnvioMrzResponse'爲空。 – Reniuz 2014-08-29 09:33:54

+0

「響應」或「response.ZwsPepEnvioMrzResponse」爲空。最簡單的方法是連接一個調試器。 – 2014-08-29 09:34:07

+0

我添加了一個斷點和response.ZwsPepEnvioMrzResponse爲null,因爲這個可變的revice來自SAP的響應,但我沒有得到響應 – 2014-08-29 09:47:06

回答

0

這是行不通的:

wsclient.ZwsPepEnvioMrz(request); 
ServiceReference2.ZwsPepEnvioMrzResponse1 response = new ServiceReference2.ZwsPepEnvioMrzResponse1(); 

您不能創建一個新的響應對象自己,並期望它包含任何數據。響應對象應該是來自您的Web服務調用的結果。我無法檢查該作爲類型是特定於Web服務,但如果ZwsPepEnviroMrz返回類型的對象的WS方法ServiceReference2.ZwsPepEnvioMrzResponse1你應該試試這個:

ServiceReference2.ZwsPepEnvioMrzResponse1 response = wsclient.ZwsPepEnvioMrz(request); 

現在response變量應該包含一些數據而這

Resultado = response.ZwsPepEnvioMrzResponse.ToString(); 

應該工作。