Tag: web services

Java和Android之间的交互

我目前正在尝试研究如何在现有的基于java的系统中使用Android。 基本上,我需要与Android应用程序进行通信。 系统当前使用ActiveMQ作为JMS提供程序将对象数据从计算机传递到计算机。 在其中一台计算机上是一个向用户显示对象数据的显示器。 我们现在要做的是使用手机(运行Android)作为另一个选项,向具有wifi /网络访问权限的用户显示此对象数据。 理想情况下,我们希望在Android上有一个本机应用程序,它可以监听ActiveMQ主题并发布到另一个主题并读取/写入/显示对象数据,但是从我做过的一些研究中,我不确定这是否可行。 有什么其他方法可以解决这个问题? Android手机需要能够发送/接收数据。 我一直在使用AndroidEmulator进行测试。

java.lang.NoClassDefFoundError:javax / ws / rs / core / Configuration

我正在实现rest轻松的Web服务,我正在使用jboss 4.0,但我得到以下exception… java.lang.NoClassDefFoundError: javax/ws/rs/core/Configuration 我的web.xml是 RestfulWebService index.html <!– HelloServlet 1 –> <!– HelloServlet javax.ws.rs.core.Application –> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap <!– resteasy.scan true –> Resteasy org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher javax.ws.rs.Application com.websevices.TestService <!– javax.ws.rs.core.Application /rest/* –> Resteasy /rest/* resteasy.servlet.mapping.prefix /rest

使用带有自己的安全框架的axis2 ramaprt模块

我在我的项目中使用axis2实现了webservice(服务器端)。 我们希望在现有Web服务中启用WS-security。 我们正在评估apache ramapart模块是否符合我们的需求。 这是我们的要求:基本上我们有内部安全框架,提供加密,签名和令牌生成function。 我们的内部安全框架基本上需要以XMLforms的一组配置,并且它公开各种API以执行各种安全操作。 现在有了上述环境,我可以想到三种可能的解决方案: – 我可以围绕内部安全框架开发一个axis2模块,并在安全阶段将其安装为.mar文件。 所以我不会使用apache rampart。 但是这种方法的问题是我不能使用ws-security策略来指定安全断言并确保传入的安全性令牌符合有效的策略。 这就像重新发明轮子已经做的那样。 我相信apache rampart强调要求apache wss4j模块进行安全操作。 我相信apache wss4j模块提供了一种注册第三方安全提供程序的方法(通过实现CryptoProvider接口)。 我不确定这是否是可行和可行的解决方案。 请建议。 Ws-security策略允许使用自定义令牌。 可以使用我们的内部安全框架构建此自定义令牌。 所以基本上它使我们能够使用apache rampart模块创建ws-security策略,并使用我们的安全框架开发自定义令牌。 但我在互联网上找不到这方面的帮助。 有谁可以帮助举例。 任何其他建议也是最受欢迎的。

ElementNSImpl to String

我有一个调用Web服务的客户端,我正在返回一个ElementNSImpl对象。 是否可以将此对象转换为String? 对于org.w3c.dom.Document对象,我使用过这样的代码: protected static String documentToString(final Document doc) { // outputs a DOM structure to plain String try { StringWriter sw = new StringWriter(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, “no”); transformer.setOutputProperty(OutputKeys.METHOD, “xml”); transformer.setOutputProperty(OutputKeys.INDENT, “yes”); transformer.setOutputProperty(OutputKeys.ENCODING, “UTF-8”); transformer.transform(new DOMSource(doc), new StreamResult(sw)); return sw.toString(); } catch (Exception ex) { throw new RuntimeException(“Error […]

如何获取SOAP请求客户端计算机的源IP?

你如何获得发送soap请求的客户机的源IP,用户名,密码等? 是否存在可以用于记录目的的任何这些细节? 我正在使用Java来处理传入的SOAP请求。 该服务只添加2个号码并且正在运行,但我只需要获取一些客户端详细信息。 谢谢,拉瓦尼亚

调用soap webservice从带有轴的java客户端返回对象列表

我对webservices感到生气。 我有一个非常简单的soap webservice: @Remote public interface StudentService { public String sayHello(); public List getStudents(); } 和 @Stateless @WebService public class StudentServiceImpl implements StudentService { @Override public String sayHello() { return “Hello World”; } public List getStudents() { List students = new ArrayList(); Student st1 = new Student(); st1.setMatricule(1234); st1.setName(“student1”); students.add(st1); Student st2 = new Student(); […]

如何处理来自REST服务的大量数据

我们正在使用返回大量数据的REST服务。 在生产中,服务器硬件可以处理它。 我需要通过获取本地计算机上的数据来测试REST服务,这些数据无法处理大量数据。 我的本地机器是4G i5。 每次我点击服务时,我都会出现内存exception。 response.getStatus()返回200状态。 但是在使用输入流读取器收集数据时,我得到了内存不足的exception。 BufferedReader br = new BufferedReader(new InputStreamReader(newByteArrayInputStream(response.getEntity().getBytes()))); 有没有其他方法来收集数据而不会遇到内存exception? 我尝试将我的VM大小推到2G,但它仍然不起作用。

Java Spring Web服务客户端故障处理

我编写了一个与UPS Web服务一起使用的Web服务客户端(使用Java Spring和JAXB Marshaller)。 当我发送有效请求时,一切正常。 当我发送无效请求(重量> 150磅)时,UPS Web服务会响应SOAP Fault。 客户端应用程序失败了 org.springframework.oxm.UnmarshallingFailureException: JAXB unmarshalling exception; nested exception is javax.xml.bind.UnmarshalException: unexpected element (uri:”http://schemas.xmlsoap.org/soap/envelope/”, local:”Fault”). 显然我的程序无法破译Web服务返回的SOAP错误。 我写了一个自定义的FaultMessageResolver,但它没有被调用。 这是代码: public class UpsRateClient extends WebServiceGatewaySupport { public UpsRateClient(WebServiceMessageFactory messageFactory) { super(messageFactory); getWebServiceTemplate().setFaultMessageResolver(new UpsFaultMessageResolver()); } public RateResponse getRate(RateRequest rateRequest) { return (RateResponse) getWebServiceTemplate().marshalSendAndReceive(rateRequest, new UpsRequestWSMC()); } private class UpsFaultMessageResolver implements FaultMessageResolver […]

使用CXF时,SoapAction标头丢失

我有一个来自外部WS的WSDL文件,我正在连接到该文件。 我正在尝试使用CXF(适用于JAX-WS)。 但我从其他系统得到错误。 所以我决定看一下我们发送到该系统的数据,唯一不同的是CXF设置了空的SOAPAction http头。 我进行了一些阅读,看起来只有已知的解决方案直接指向WSDL。 但我已经这样做了。 有人对此有所了解吗? 头: POST /somepath HTTP/1.1 Content-Type: text/xml; charset=UTF-8 Accept: */* Authorization: Basic SOAPAction: “” User-Agent: Apache CXF 2.7.6 Cache-Control: no-cache Pragma: no-cache Host: somehost:8080 Connection: keep-alive Content-Length: 2791

如何让CXF为WSDL生成外部XSD?

我正在使用CXF和@WebService注释。 它生成WSDL文件作为一个大文件,有没有办法告诉它在XSD文件中外部生成wsdl:types并将它们导入WSDL?