Tag: web services

WstxUnexpectedCharException:DOCTYPE声明中出现意外的字符’“’(代码34);预期公共标识符和系统标识符之间的空格

我试图在最近几天解决以下问题,但仍然无法解决它。 我搜索了很多论坛,但都是徒劳的。 * 一点点历史:我的代码在devp env中运行良好但是为了访问生产服务器,我在成功将证书包含在新的信任库文件中后收到了新的URL和三个新证书。我正面临下面的问题。 请帮忙。 2013-11-25 11:32:30,373 INFO[BuilderUtil] OMException in getSOAPBuilder org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ‘”‘ (code 34) in DOCTYPE declaration; expected a space between public and system identifiers at [row,col {unknown-source}]:[1,46] at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296) at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:198) at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.(StAXSOAPModelBuilder.java:154) at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.(StAXSOAPModelBuilder.java:140) at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:686) at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197) at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145) at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108) at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421) […]

轴2是否自动创建(并保存)wsdl文件?

我有一个使用eclipse / tomcat / axis2运行的Web服务。 我想让它链接到一个bpel进程,所以我需要wsdl文件。 我可以通过启动服务器显示wsdl并转到 http://localhost:8080/axis2/services/MyService?wsdl 但是,如果我搜索项目的目录结构,我找不到wsdl文件。 我当然可以从浏览器中复制并粘贴wsdl并将其保存为文本文件,然后将bpel指向该wsdl。 但似乎轴2会为我生成(并保存)一个wsdl文件,对吧?

使用JAXB进行JAX-WS请求validation

在JAX-WS中,要validation传入的请求,其中一种方法是使用@SchemaValidation,如下面的链接所示。 JAX-WS和XSDvalidation 但是我使用的应用程序服务器(WAS 7)尚不支持@SchemaValidation。 (如果WAS 7支持此注释,请纠正我) 所以我正在寻找其他选项,比如实现一个处理程序来validation传入的请求。 无论是在处理程序还是端点类本身,我都可以创建JAXBContext并使用JAXBvalidation器。 我是否需要显式创建JAXBContext,或者它是否可用作资源/注释,因为JAX-WS内部使用JAXB? 这是在JAX-WS中实现validation的好方法吗? (在没有@SchemaValidationvalidation的情况下) 在Web服务中validation传入请求xml是否是一种标准做法,或者由于可能需要的性能影响,它是否被跳过?

SharePoint 2010 Web服务上的Java JBoss 401错误

在Eclipse IDE中测试时,我的代码成功运行。 我正在使用生成的Copy.wsdl通过Web服务连接到MS SharePoint 2010 当我在JBoss服务器上部署代码(运行Adobe LifeCycle)时,我的代码收到401错误。 错误: Caused by: org.jboss.ws.WSException: Invalid HTTP server response [401] – Unauthorized at org.jboss.ws.core.soap.SOAPMessageUnMarshallerHTTP.read(SOAPMessageUnMarshallerHTTP.java:75) at org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:608) at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:402) at org.jboss.remoting.transport.http.HTTPClientInvoker.makeInvocation(HTTPClientInvoker.java:253) … 156 more 现在,如果我故意通过IDE使用错误的登录,我会收到此错误: com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 401: Unauthorized 更新: 所以经过更多的研究后发现J2EE支持,缺乏,NTLM就是原因。 我已经尝试了几种无法解决的解决方案。 码: protected void initialize(String username, String password) throws Exception { System.out.println(“initialize()…”); java.net.CookieManager cm […]

在Java中序列化日期

我通过Web服务传递一些对象,其中一些包含java.sql.Date。 因为Date没有空构造函数,所以它不希望序列化。 问题的第一部分很简单:在客户端和服务之间传递日期的最佳方法是什么? 第二部分有点棘手:一旦我决定如何传递日期,我显然可以声明日期瞬态并使一些包装类将日期作为字符串或其他方式传递,但如何将相同的解决方案尽可能透明地应用于包含Date的几个类? (我有一种预感,DynamicProxy可能是一个解决方案,但阅读Sun网站上的文档并不是很有帮助,所以如果它确实是朝这个方向发展的话,那么一些澄清将会受到赞赏) 编辑:我问了错误的问题,对不起(我和同事之间的一些误解实际上是一个问题)。 由于反序列化而出现问题。 因此,一旦我有xml格式的日期,它会尝试将自身反序列化为GregorianCalendar。 问题的其他部分仍然存在:接收某些东西(长时间戳或GregorianCalendar)并将其转换为sql日期的最佳方式是什么,而不为10个不同的类制作10个不同的包装器。 我正在使用NetBeans代码和wsdl生成。

wsimport不使用复杂的输入类型

当我使用wsimport为某些服务生成代理时,每个端口的结果方法签名似乎不使用WSDL中指定的复杂类型; 但是我注意到它有一些其他服务。 这发生在多个服务上,但最近的例子是亚马逊的AWSEConsumerService( 链接到WSDL )。 当我使用wsimport生成服务代理代码时,我获得了每个端口的方法签名,如下所示。 @WebMethod(operationName = “ItemLookup”, action = “http://soap.amazon.com/ItemLookup”) @RequestWrapper(localName = “ItemLookup”, targetNamespace = “http://webservices.amazon.com/AWSECommerceService/2011-08-01”, className = “com.aws.CommerceService.ItemLookup”) @ResponseWrapper(localName = “ItemLookupResponse”, targetNamespace = “http://webservices.amazon.com/AWSECommerceService/2011-08-01”, className = “com.aws.CommerceService.ItemLookupResponse”) public void itemLookup( @WebParam(name = “MarketplaceDomain”, targetNamespace = “http://webservices.amazon.com/AWSECommerceService/2011-08-01”) String marketplaceDomain, @WebParam(name = “AWSAccessKeyId”, targetNamespace = “http://webservices.amazon.com/AWSECommerceService/2011-08-01”) String awsAccessKeyId, @WebParam(name = “AssociateTag”, targetNamespace = “http://webservices.amazon.com/AWSECommerceService/2011-08-01”) […]

如何在jax-ws客户端中隐藏警告(可能)由jax-ws库引起

我正在使用netbeans在我的应用程序中生成Web服务客户端。 我的程序使用jax-ws库来设置调用Web服务的超时。 出现问题是因为每当我启动此程序时它会生成大量此警告消息: 2010年12月13日下午4:35:21 [com.sun.xml.ws.policy.EffectiveAlternativeSelector] selectAlternatives警告:WSP0075:策略断言“{ http://schemas.xmlsoap.org/ws/2004/10/wsat } ATAlwaysCapability“被评为”未知“。 2010年12月13日下午4:35:21 [com.sun.xml.ws.policy.EffectiveAlternativeSelector] selectAlternatives警告:WSP0075:策略断言“{ http://schemas.xmlsoap.org/ws/2004/10/wsat } ATAssertion“被评为”未知“。 2010年12月13日下午4:35:21 [com.sun.xml.ws.policy.EffectiveAlternativeSelector] selectAlternatives警告:WSP0019:在客户端选择健身“UNKNOWN”的次优策略备选方案。 我在这里发现了同样的问题: http : //forums.java.net/node/707265 ,但直到现在它也没有答案。 有没有办法隐藏这个警告? 我尝试使用谷歌搜索,并找不到任何匹配的问题答案..

编写jax-ws Web服务并在没有XSD的情况下生成WSDL

我在java上为tomcat应用服务器编写了一个简单的JAX-WS Web服务。 我有一个接口和实现类: 接口 @WebService(name = “myWs”) @SOAPBinding(style = Style.RPC) public interface IMyWs { @WebMethod(operationName = “getUser”) Response getUser(@WebParam(name = “phone”, mode = Mode.IN) String phone); } 履行 @WebService(endpointInterface = “ge.mari.IMyWs”) public class MyWs implements IMyWs { @Override public Response getUser(String phone) { // SOME CODE return response; } } 我的问题是,在我的wsdl文件中,响应类是在xsd文件中定义的。 这是我的wsdl文件的片段 如何使Web服务生成WSDL文件中的所有类型而不是单独的XSD文件? 我应该更改任何配置或添加一些注释到我的Web服务?

何时在Jersey资源中使用@Singleton

我有一个访问数据库的Jersey资源。 基本上它在资源的初始化中打开数据库连接。 对资源的方法执行查询。 我观察到当我不使用@Singleton时,数据库在每次请求时都是打开的。 我们知道打开连接真的很贵吗? 所以我的问题是,我应该指定资源是单例还是最好是按照请求保留它,特别是当资源连接到数据库时? 我的资源代码如下所示: //Use @Singleton here or not? @Path(/myservice/) public class MyResource { private ResponseGenerator responser; private Log logger = LogFactory.getLog(MyResource.class); public MyResource() { responser = new ResponseGenerator(); } @GET @Path(“/clients”) public String getClients() { logger.info(“GETTING LIST OF CLIENTS”); return responser.returnClients(); } … // some more methods … } 我使用类似于此的代码连接到数据库: public […]

如何将JAVAX-WS Endpoint绑定更改为SOAP 1.2?

我正在使用Endpoint.publish()发布测试WS实现,以便在Visual Studio中使用。 根据文档 ,默认的SOAP绑定是1.1 ,并且可以更改绑定,但我无法具体弄清楚如何将绑定更改为1.2 。 任何帮助表示赞赏!