美好的一天,
我们需要通过curl和SOAP调用MobileFirst Adapter,省略身份验证。
如何使用curl和application / x-www-form-urlencoded这样做的示例如下所示,但我们还需要使用SOAP调用适配器。
curl -XPOST -d 'adapter=PushAdapter&procedure=sendNotifications¶meters=["[\"UserA\",\"UserB\"]", "Pushed.you"]' http://localhost:10080/application/invoke
原因是,我们希望通过仅允许SOAP的网络区域触发发送PushNotifications。
我们对不同的建议持开放态度,例如实现新的JavaAdapter(不是JS),实现额外的WebService,或弹出的任何可以以可接受的方式满足要求的内容。
我希望有人能想出如何通过SOAP调用适配器,省略身份验证。
谢谢你, gizmore
----编辑---
我添加了一个新的Java适配器,就像Hasan建议的视频一样。 非常感谢您提示:)
我添加了这样的WebService:
@WebService
@Path("/soap")
@OAuthSecurity(enabled=false) // Disable the imfAuthentication :)
public class ExternalPushService {
@POST
@Path("/push")
@WebMethod(action="push")
public String push(@WebParam(name="name") String name) {
return name + "ABC";
}
}
我现在可以对http://localhost:10080/app/adapters/PushBridge/soap/push端点执行HTTP POST请求,但不会解析SOAP。 相反,我在“name”参数中获得完整的Envelope。 如果我对PushBridge / soap进行SOAP调用,则不允许使用405方法。
有人有想法,我如何让SOAP在那里开箱即用?
答案 0 :(得分:1)
答案是:否
当你在java适配器中添加@WebService时,这个面临着战争:
问题描述:此注释需要Web服务项目。将Java项目转换为面向指定运行时环境的Web项目
SOAP基础服务基于JAX-WS规范。
但是
Java适配器基于JAX-RS规范。 https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-0/server-side-development/java-adapter/