- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Metro 1.2 以这种方式生成了一个带有本地 wsdl 的 webservice 客户端:
./wsimport.sh -extension -verbose -wsdllocation service.wsdl -s src -d target service.wsdl -Xendorsed
SOAP 1.2
和
wsHttpBinding
。它应该连接到使用
NTLM
作为身份验证方法的 WCF 服务器。
Authenticator
来处理
NTLM
身份验证:
public class NtlmAuthenticator extends Authenticator
{
private String username = "";
private String password = "";
public NtlmAuthenticator(String username, String password) {
this.username = username;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password.toCharArray());
}
}
@WebEndpoint(name = "WSHttpBinding_ICustomerService")
public ICustomerService getWSHttpBindingICustomerService() {
ICustomerService service =
super.getPort(new QName("http://xmlns.example.com/services/Customer",
"WSHttpBinding_ICustomerService"), ICustomerService.class);
NtlmAuthenticator auth = new NtlmAuthenticator(username, password);
Authenticator.setDefault(auth);
return service;
}
401 Unauthorized
,这很好,但是当我使用正确的用户名/密码时,调用会挂起,我永远不会得到响应!
POST / HTTP/1.1
Content-type: application/soap+xml;charset="utf-8";action="http://xmlns.example.com/services/ICustomerService/GetCustomer"
Password: [password]
Authorization: Basic [auth]
Username: [username]
Accept: application/soap+xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
User-Agent: JAX-WS RI 2.1.7-b01-
Cache-Control: no-cache
Pragma: no-cache
Host: localhost:5500
Connection: keep-alive
Content-Length: 603
[xml follows]
wget 1.12
(听说 1.11 有 NTLM 问题),但它也从未产生响应,只是等待。
[...]
---request end---
[writing POST file customerRequest.xml ... done]
HTTP request sent, awaiting response...
最佳答案
我发现我在生成的客户端代码中遗漏了一行启用 Addressing
并将其传递给 getPort
super 方法:
WebServiceFeature wsAddressing = new AddressingFeature(true);
ICustomerService service =
super.getPort(new QName("http://xmlns.example.com/services/Customer",
"WSHttpBinding_ICustomerService"), ICustomerService.class,
wsAddressing);
@WebEndpoint(name = "WSHttpBinding_ICustomerService")
public ICustomerService getWSHttpBindingICustomerService() {
WebServiceFeature wsAddressing = new AddressingFeature(true);
ICustomerService service =
super.getPort(new QName("http://xmlns.example.com/services/Customer",
"WSHttpBinding_ICustomerService"), ICustomerService.class,
wsAddressing);
NtlmAuthenticator auth = new NtlmAuthenticator(username, password);
Authenticator.setDefault(auth);
return service;
}
<S:Header>
<To xmlns="http://www.w3.org/2005/08/addressing">https://services.example.com/CustomerService.svc</To>
<Action xmlns="http://www.w3.org/2005/08/addressing">http://xmlns.example.com/services/ICustomerService/GetCustomer</Action>
<ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</ReplyTo>
<MessageID xmlns="http://www.w3.org/2005/08/addressing">uuid:d33c2888-abfa-474d-8729-95d2bcd17a96</MessageID>
</S:Header>
关于wcf - Metro 客户端在使用 wsHttpBinding 调用 WCF 网络服务器时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067637/
我想在单个服务中使用 wshttpbinding(带 SSL 和不带 SSL),但它不起作用,任何人都实现了它。所以请指导我如何实现这一目标?
http://blogs.msdn.com/drnick/archive/2007/03/23/preventing-anonymous-access.aspx 有人可以澄清是否可以在 WCF 中使用
我想在 Web 服务上实现 wsHTTPBinding,但我不断收到此错误:“调用者未通过该服务的身份验证”。我看过很多关于这个主题的帖子,但它们要么没有解决我的问题/与我的配置无关,要么“答案”是使
我似乎无法为 wsHTTPBinding 设置消息加密。 我的设置是: IIS 服务器 默认网站需要 SSL 并绑定(bind)到我使用 IIS 自签名证书链接使用的自签名证书。 SSL 允许证书。
我正在尝试使用用户名/密码设置wsHttpBinding。我遇到的问题是如何设置用户名/密码? 我已经设置好了: binding.Security.Mode = SecurityMode.Transp
我有一个 WsHttpBinding 请求-回复服务方法,该方法针对中间层服务(连接到数据库)处理事务,并使用事务 ID 向客户端返回响应消息。 我有几个问题: 如何在客户端收到响应之前检测到意外断开
我已经使用 wsHttpBinding 创建了一个服务,但是每次我下载该服务时,它都会在客户端的配置中创建 basichttpbinding。有什么想法吗?谢谢
顾名思义……现在我正在使用 BasicHttpBinding,但我想知道我是否可以切换到 WSHttpBinding 并且仍然可以与 Java 等互操作。 最佳答案 wsHttpBinding 和较新
我正在尝试使用 wsHttpBinding 添加 WCF 服务到soapUI。 我正在使用消息安全性,它适用于测试客户端,但 SoapUI 返回 An error occurred when veri
在为 WCF 项目编写代码时,我经常遇到 wsHttpBinding。但是,我从未使用过 wsHttp 小号 捆绑。 问题 : 是否 wsHttp 小号 绑定(bind)甚至存在于 WCF 或其自定义
我有一个使用消息安全的负载平衡服务: 我对该服务的所有调用都会打开和关闭它们自己的 channel ,因此建立安全上下文没有任何好处。 我正在使用 W
我在 Internet 托管服务提供商中部署了一个 Web 应用程序。该 Web 应用程序使用部署在我公司应用程序服务器上的 IIS 服务器上的 WCF 服务,为了能够访问公司数据库的数据,出于安全原
我正在尝试在客户端和服务器上设置具有证书身份验证的 WCF 服务。我正在经历 hell ,遍历所有可能的错误消息。 这里的最终目标是使用证书对双方进行身份验证。我将为每个客户颁发一个特定的证书(希望)
这个问题已经有答案了: BasicHttpBinding vs WsHttpBinding vs WebHttpBinding (3 个回答) 已关闭 7 年前。 在 WCF 端点中,basicHtt
我有一个作为 Windows 服务托管的 WCF 服务,客户端是一个使用 WCF 服务方法的 ASP.Net 应用程序。 在实现安全性的过程中,我很困惑 netTcpBinding/wsHttpBin
在使用消息级安全性时是否可以避免必须将证书与 wsHttpBinding 一起使用? 或者是否有任何其他方法可以加密客户端和服务器之间的通信,而无需经历配置证书的麻烦。 最佳答案 如果客户端和服务器都
我有使用 wsHttpBinding 和证书身份验证的 WCF 服务。 我在多台机器上运行此服务,我的防火墙将请求路由到不同的服务器。 问题是当客户端打开代理并与一台服务器一起工作时,在下一次调用时,
根据 http://msdn.microsoft.com/en-us/library/system.servicemodel.wshttpbinding.security.aspx , .NET Fr
我有一个使用 basicHttpBinding 工作的 WCF 服务,我正在尝试将其配置为通过 https 并使用 SQL 成员身份提供程序进行身份验证,为此我正在尝试将其转换为使用 wsHttpBi
如果 silverlight 不支持此绑定(bind),人们通常如何与 WCF 进行 session ? 最佳答案 Silverlight 支持 BasicHttpBinding和 PollingDu
我是一名优秀的程序员,十分优秀!