在wcf web服务中调用SAP ME web服务

问题描述:

我有一个soap web服务(sap me web服务),我生成了wcf代理。没问题,我开发了一个WinForms应用程序没有问题 现在,我尝试使用它在我的WCF服务(的WebHttpBinding域网络的结合),但我有一个身份验证错误: WCF - HTTP请求是未经授权的客户端身份验证方案“基本” 。从服务器接收认证报头是“基本境界=‘mySoapServiceName’ 这是IIS用户的问题?在wcf web服务中调用SAP ME web服务

谢谢

SAP正在使用基本身份验证。你需要指定的用户名和密码,您已经创建了代理之后,例如:

proxy.Credentials.UserName.UserName = "joe"; 
proxy.Credentials.UserName.Password = "doe"; 
+0

是,密码和登录OK – Tanite

BasicHttpBinding myBinding = new BasicHttpBinding(); 

myBinding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly; 

myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; 
EndpointAddress ea = new EndpointAddress("url de mon web service soap"); 

SfcServices.SFCProcessingInClient myClient = new SfcServices.SFCProcessingInClient(myBinding, ea); 

myClient.ClientCredentials.UserName.UserName = _MESwsLogin; 
myClient.ClientCredentials.UserName.Password = _MESwsPassword; 

SfcServices.SFCStateRequestMessage_sync srm = new SfcServices.SFCStateRequestMessage_sync(); 
SfcServices.SFCStateRequest sr = new SfcServices.SFCStateRequest(); 
srm.SfcStateRequest = sr; 
sr.SiteRef = new SfcServices.SiteRef(); 
sr.SiteRef.Site = _MESsite; 
sr.SfcRef = new SfcServices.SFCRef(); 
sr.SfcRef.Sfc = "12345678903"; 

sr.includeSFCStepList = true; 

SfcServices.SFCStateConfirmationMessage_sync response = myClient.FindStateByBasicData(srm); 
strOrdreFab = response.SfcStateResponse.SFCStatus.Sfc.ShopOrderRef.ShopOrder; 
strCodeProduit = response.SfcStateResponse.SFCStatus.Sfc.ItemRef.Item; 
strIndice = response.SfcStateResponse.SFCStatus.Sfc.ItemRef.Revision;