Tag: web services

使用Metro的Ws-Security标头

我有一个实现WS-Security的Web服务,但没有在WSDL中定义策略。 我可以使用Axis 2作为客户端成功使用此Web服务。 我试图使用Metro 2使用相同的Web服务,但wsse:security标头不会。 仅当服务定义了不受我控制的安全策略时,它才有效。 我通过创建示例Web服务对此进行了测试,除非我定义策略,否则我的metro客户端永远不会发送wsse:security标头。 使用Metro有什么我想念的吗? 编辑 – – – – – – – – – – – – – – – – – – – – – – – – – —————————————– 我创建了wsdl的本地副本,并在其中定义了策略。 我使用这个wsdl创建了Web服务客户端,但仍然没有安全头。 wsit-client.xml文件看起来很好。 我甚至将所有配置与Web服务的客户端进行了比较,该客户端定义了策略并且配置相同但仍然不起作用。 截至目前我的结论是,城域客户端需要实际的Web服务定义策略。 编辑 – – – – – – – – – – – – – – […]

如何使用WSS4J拦截器在Web服务方法中获取经过身份validation的用户

我在Spring中托管了Apache CXF服务。 我正在使用WSS4J拦截器来validation用户名/密码安全性以访问服务器。 validation工作正常,如果我从SoapUI发送错误的凭据我不能按预期使用该服务。 如果我发送正确的凭据,服务没有问题。 这是我在spring上下文文件中的配置。 <!—-> 现在我需要能够在我的服务方法中访问我的身份validation用户,如下所示: @WebResult(name = “UpdatePatternResponse”, targetNamespace = “http://test.com/schemas/xsd/myservice/”, partName = “UpdatePatternResponse”) @WebMethod(operationName = “UpdatePattern”, action = “UpdatePattern”) @Generated(value = “org.apache.cxf.tools.wsdlto.WSDLToJava”, date = “2015-02-19T12:49:59.491-05:00”) public test.com.schemas.xsd.myservice.UpdatePatternResponse updatePattern( @WebParam(partName = “UpdatePatternRequest”, name = “UpdatePatternRequest”, targetNamespace = “http://test.com/schemas/xsd/myservice/”) test.com.schemas.xsd.myservice.UpdatePatternRequest updatePatternRequest ) throws SIASFaultMessage{ . . User myAuthenticatedUser = //HOW TO GET THE […]

我可以一起使用SOAP Webservices和Spring MVC吗?

我有一个Spring MVC项目。 我写了类似的代码 @Controller @RequestMapping(“CallBack”) @WebService(name = “NotificationToCP”, targetNamespace = “http://SubscriptionEngine.ibm.com”) public class CallbackController { @RequestMapping(“”) @ResponseBody @WebMethod(action = “notificationToCP”) @RequestWrapper(localName = “notificationToCP”, targetNamespace = “http://SubscriptionEngine.ibm.com”, className = “in.co.mobiz.airtelVAS.model.NotificationToCP_Type”) @ResponseWrapper(localName = “notificationToCPResponse”, targetNamespace = “http://SubscriptionEngine.ibm.com”, className = “in.co.mobiz.airtelVAS.model.NotificationToCPResponse”) public NotificationToCPResponse index( @WebParam(name = “notificationRespDTO”, targetNamespace = “”) CPNotificationRespDTO notificationRespDTO) { return new NotificationToCPResponse(); } } […]

通过Rest WebService上传图像文件

我写下面的代码来做 – 🙂 @POST @Path(“/UploadProfileImage”) @Consumes(MediaType.MULTIPART_FORM_DATA) @Produces(MediaType.APPLICATION_JSON) public String uploadProfileImage(@FormDataParam(“imageFile”) InputStream uploadedImageInputStream,@HeaderParam(“mPolicyGroupSeqId”)String PolicyGroupSeqId){ JSONArray arra = new JSONArray(); LinkedHashMap mapObject = new LinkedHashMap(); LinkedHashMap mapObject1 = new LinkedHashMap(); ArrayList LogoList = new ArrayList(); try { System.out.println(“upload profile image”); String strPolicyGroupSeqId=TTKCommon.checkNull(PolicyGroupSeqId); WebServiceManager webServiceManager=this.getWebServiceManagerObject(); //byte[] bytes = IOUtils.toByteArray(uploadedImageInputStream); byte[] bytes = new byte[1024]; int bytesRead=0; ByteArrayOutputStream output […]

无法在Glassfish上部署JAX-WS Web服务

我在使用Glassfish应用程序服务器运行JAX_WS Webservices时遇到问题。 以前,我曾经使用Apache tomcat,它可以很好地工作。 但现在,有了Glassfish,这个问题阻止了应用程序的部署…请在下面查看: 2013-04-04T13:09:23.028+0300 com.sun.xml.ws.wspolicy.com.sun.xml.ws.api.policy.ModelTranslator SEVERE: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator) 2013-04-04T13:09:23.028+0300 com.sun.xml.ws.wspolicy.jaxws.PolicyWSDLParserExtension SEVERE: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator) 2013-04-04T13:09:23.028+0300 com.sun.xml.ws.wspolicy.jaxws.PolicyWSDLParserExtension SEVERE: WSP1007: Policy exception occurred when finishing WSDL parsing. com.sun.xml.ws.policy.PolicyException: [failed to localize] WSP_0071_ERROR_MULTIPLE_ASSERTION_CREATORS_FOR_NAMESPACE(http://schemas.xmlsoap.org/ws/2004/08/addressing, com.sun.xml.ws.security.addressing.impl.policy.AddressingPolicyAssertionCreator, com.sun.xml.ws.addressing.impl.policy.AddressingPolicyAssertionCreator) at com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.(PolicyModelTranslator.java:188) at com.sun.xml.ws.api.policy.ModelTranslator.(ModelTranslator.java:85) at com.sun.xml.ws.api.policy.ModelTranslator.(ModelTranslator.java:74) at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:102) at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicySubjects(BuilderHandler.java:110) at com.sun.xml.ws.policy.jaxws.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:72) at com.sun.xml.ws.policy.jaxws.BuilderHandler.populate(BuilderHandler.java:82) […]

访问JAX-WS Dispatch响应的内容

我正在尝试使用JAX-WS访问Web服务: Dispatch sourceDispatch = null; sourceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD); Source result = sourceDispatch.invoke(new StreamSource(new StringReader(req))); System.out.println(sourceToXMLString(result)); 哪里: private static String sourceToXMLString(Source result) { String xmlResult = null; try { TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, “yes”); transformer.setOutputProperty(OutputKeys.METHOD, “xml”); //transformer.setOutputProperty(OutputKeys.ENCODING, “utf-8”); OutputStream out = new ByteArrayOutputStream(); StreamResult streamResult = new StreamResult(); streamResult.setOutputStream(out); […]

如何在JAX-RS中注入ApplicationContext

我正在使用Spring和JAX-RS编写Web服务,我对以下内容感到困惑 这是我的服务例子 @Path(“/users”) public class UserService { @GET @Path(“{id}”) @Produces(“application/xml”) public User getById(@PathParam(“id”) int id) { ApplicationContext context = new ClassPathXmlApplicationContext(“beans.xml”); UserDAO userDAO = (UserDAO) context.getBean(“userDao”); return userDAO.getById(id); } } 这是我的beans.xml 我想知道这是否是每次调用资源时加载Application上下文的正确技术,如果不是,我应该如何更改它?

如何在Web服务上工作时获取会话对象?

如何在Web服务上工作时获取会话对象? 服务在两个程序之间调用。 如何使用webservices处理用户会话对象。 使用请求对象无法获取会话,因为在讨论服务时不会有请求或响应。

Spring MVC多个servlet(Jersey,Dispatcher)问题

我的页面有一个DispatcherServlet,我的Jersey webservice有一个ServletContainer。 就像现在一样,没有页面正在渲染(404),但服务工作正常。 我怎么能一起运行它们? 我看到了这个线程如何在一个Spring应用程序中注册web.xml中的多个servlet似乎处理类似的问题,虽然那是关于CXF所以我不确定它是多么相关。 我还尝试了一个单独的Jersey-servlet.xml文件,但这使得页面和服务都停止工作。 从这一点开始不知道该去哪里,任何帮助都非常感激。 web.xml中: HSRMVC index.jsp HSR org.springframework.web.servlet.DispatcherServlet HSR *.html Jersey REST Service com.sun.jersey.spi.container.servlet.ServletContainer se.hsr.services HSRMVC Jersey REST Service /* HSR-sevlet.xml: 更新的web.xml HSRMVC index.jsp HSR org.springframework.web.servlet.DispatcherServlet 1 HSR *.html contextConfigLocation /resources/applicationContext.xml /WEB-INF/service-beans.xml service-beans com.sun.jersey.spi.container.servlet.ServletContainer se.hsr.services HSRMVC 2 service-beans /*

接受List作为Jersey Web服务的参数,该Web服务使用多部分的内容类型

我有一个现有的Jersey webservice方法,它通过Http POST方法接受许多参数,该方法用于处理标准表单数据,application / x-www-form-urlencoded的内容类型; 其中一个参数是字符串列表。 下面是我拥有的方法签名的示例。 @POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public Response createItem( @FormParam(“p1”) long p1, @FormParam(“p2”) String p2, @FormParam(“p3”) List p3, @FormParam(“p4”) String p4, @Context UriInfo uriInfo ) throws SQLException { 这是正常工作,当在List中传递多个p3参数时,Jersey正确生成并传递给方法。 我现在需要制作一个可以接受多部分请求的方法的替代版本,这样文件也可以与现有参数一起上传。 所以我创建了一个非常相似的方法签名来使用多部分请求,如下所示。 @POST @Consumes(MediaType.MULTIPART_FORM_DATA) public Response createItemWithFile( @FormDataParam(“p1”) long p1, @FormDataParam(“p2”) String p2, @FormDataParam(“p3”) List p3, @FormDataParam(“p4”) String p4, @FormDataParam(“file”) InputStream inputStream, @Context […]