我在WPF建立一个爱好项目也决定使用Metro风格主题来应用.是否可以Windows phone 7在桌面应用程序中使用样式而不是重新创建?
我正在尝试将使用Metro堆栈发送的消息记录到控制台中.找不到任何办法.
让我们假装我拥有的只是emacs.我想实现一个使用WS-Security和JAX-WS的Web服务.有没有人知道实现不依赖Netbeans等工具的客户端的好例子?
谢谢
我创建了一个端口池(webservice客户端),因为在每次请求时动态创建客户端会导致瓶颈
现在我注意到webservice客户端持有对请求和响应的引用......
这是正常的......?
不幸的是,对于这个web服务来说,有效载荷非常大,就像这样,即使暂时不使用,池也会保留对某些不再使用的响应的引用...增加堆...
收到回复后有没有办法清理这些引用?
更新:使用Apache CXF客户端我没有这个问题但是pb.仍然对weblogic客户开放..
我用这种方式使用Metro 1.2 生成了一个带有本地wsdl的webservice客户端:
./wsimport.sh -extension -verbose -wsdllocation service.wsdl -s src -d target service.wsdl -Xendorsed
Run Code Online (Sandbox Code Playgroud)
wsdl使用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());
}
}
Run Code Online (Sandbox Code Playgroud)
我在调用每个webservice方法之前设置的:
@WebEndpoint(name = "WSHttpBinding_ICustomerService")
public ICustomerService getWSHttpBindingICustomerService() {
ICustomerService service =
super.getPort(new …Run Code Online (Sandbox Code Playgroud) 我有3个使用netbean 6.9创建的Web服务
当我在工作中使用计算机时,它运行顺畅,没有错误.但是,当我将netbean项目复制到我家的计算机时,它运行时出现错误,如下所示.
SEVERE: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: Unable to create JAXBContext
javax.xml.ws.WebServiceException: Unable to create JAXBContext
at com.sun.xml.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:166)
at com.sun.xml.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:94)
at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:258)
at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:338)
at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:201)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:505)
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:253)
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:147)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:124)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1276)
at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:199)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) …Run Code Online (Sandbox Code Playgroud) 我想问一个关于jax-ws中@UsesJAXBContext注释的问题.我试图让它在客户端工作,但我可能会遗漏一些东西.这是我的情况:
我有web操作的操作:
@WebMethod(operationName = "putToQueue")
public boolean put(@WebParam(name = "queueName") String queueName, @WebParam(name = "element") Object element) {
return queues.get(queueName).offer(element);
}
Run Code Online (Sandbox Code Playgroud)
在客户端,我生成了QueueService和Queue(端口)......以及其他东西...... [响应请求.在这种情况下无关紧要.]我想让用户定义他/她可以放入队列的对象.但是,为了调用操作put(...),我需要将绑定对象(我尝试发送)放入JAXBContext中.我可以通过@XmlSeeAlso在生成的Queue存根的顶部做到这 一点 [我试过这个并且它可以工作].尽管如此,我需要更通用的解决方案来帮助我在运行时绑定对象.我认为我可以创建@QueueMessage注释和ClientJAXBContextFactory,并在创建时将标记的类添加到上下文中.
public class ClientJAXBContextFactory implements JAXBContextFactory {
@Override
public JAXBRIContext createJAXBContext(SEIModel seim, List<Class> classes, List<TypeReference> references) throws JAXBException {
Reflections reflections = new Reflections("");
Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(QueueMessage.class);
classes.addAll(annotated);
return JAXBContextFactory.DEFAULT.createJAXBContext(seim, classes, references);
}
}
Run Code Online (Sandbox Code Playgroud)
接下来我尝试在生成的Queue之上使用@UsesJAXBContext.
@WebService(name = "Queue")
@UsesJAXBContext(ClientJAXBContextFactory.class)
public interface Queue { …Run Code Online (Sandbox Code Playgroud) 我正在使用通用的Handler类实现许多JAX-WS Web服务,以验证传入SOAP消息的正确结构.
有没有办法获取指向当前消息的URL,以便我可以自动从此URL获取架构并验证消息?
我们有一个在Tomcat v7服务器内的JVM(IBM jdk而不是Oracle)上运行的Java应用程序,具有以下属性
使用Metro(带WSIT)版本2.3来调用需要WS-Security和Ws-Reliability规范的.Net SOAP服务并获得此错误
wsdl定义RM断言.
我想知道这个序列号是否可能是服务器已经认为已完成的旧消息,但客户端仍然认为需要重新提交并确认.此时,它会在尝试完成此消息时遇到此问题,并且无法完成其他任何消息
引起:com.sun.xml.ws.rx.rm.runtime.sequence.UnknownSequenceException:WSRM1124:在com.sun.xml中没有使用id [urn:uuid:7b7df40c-0d0c-49ee-aabd-cd37ec8ce79d]注册的序列. ws.rx.rm.runtime.sequence.invm.InVmSequenceManager.getSequence(InVmSequenceManager.java:307)at com.sun.xml.ws.rx.rm.runtime.sequence.invm.InVmSequenceManager.getOutboundSequence(InVmSequenceManager.java:339 )com.sun.xml.ws.rx.rm.runtime.SourceMessageHandler.registerMessage(SourceMessageHandler.java:87)at com.sun.xml.ws.rx.rm.runtime.ClientTube.processRequest(ClientTube.java:191) )com.sun.xml.ws.api.pipe.Fiber .__ doRun(Fiber.java:1136)at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)at com. sun.com.ws.api.pipe.Fiber.doRun(Fiber.java:1019)位于com.sun.xml的com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877).位于com.sun.xml.ws.client.sei的com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:174)中的ws.client.Stub.process(Stub.java:464).在c处的SyncMethodHandler.invoke(SyncMethodHandler.java:108)om.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:91)位于com.sun的com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:154).代理.$ Proxy85.get(未知来源)
Jul-19-2014 15:22:26.581(ajp-bio-8009-exec-4:28)FINER [com.sun.xml.ws.api.pipe.Fiber ___ doRun] engine-Metro/2.3(tags/2.3-7528) ; 2013-04-29T19:34:10 + …
我有一个Java桌面应用程序,它使用JAX-WS使用Java SE中的默认Metro JAX-WS实现来调用某些Web服务 - 它是一个通过Java Web Start(.jnlp)启动的SWT应用程序.直到最近,当几个实例在初始化Web服务调用时开始出错时,Web服务才出现任何问题:
WARNING: MASM0010: Unable to unmarshall metro config file from location [ jar:file:/C:/Program%20Files%20(x86)/Java/jre1.8.0_31/lib/resources.jar!/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml ]
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessDeclaredMembers")
Run Code Online (Sandbox Code Playgroud)
最终导致:
SEVERE: MASM0003: Default [ jaxws-tubes-default.xml ] configuration file was not loaded.
Run Code Online (Sandbox Code Playgroud)
遇到此问题的所有客户端都在Windows上使用JRE 1.8.31-45,x86和x86_64.我一直在搜索这个网站和谷歌,但一直无法找到有关此问题的任何信息.
感谢您对此问题的任何见解!
编辑我从下面给出的例子开始,但我现在有:
StockQuoteSoapBinding在一个地方,StockQuoteBinding另一个地方调用)后,它给出了同样的问题.wsdl,看看是否wsimport应该责备.它给出了一个等价的错误.所以在我看来,尽管有关于SOAP的大肆宣传,它实际上并不起作用 - 至少不像宣传的那样.我无法相信没有人通过这些发生器运行最可见的wsdl示例.
原始问题
wsimport在以下wsdl上失败:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="OrdersService"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:os="http://example/schema/OrdersService"
xmlns:tns="http://example/ns/OrdersService"
targetNamespace="http://example/ns/OrdersService"
>
<wsdl:types>
<xsd:schema
targetNamespace="http://example/schema/OrdersService">
<xsd:element name="o:GetOrders">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="criteria" type="string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="os:GetOrdersResponse">
<xsd:complexType>
<xsd:all>
<xsd:element name="orders" type="string"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="GetOrdersRequest">
<wsdl:part name="parameters" element="os:GetOrders"/>
</wsdl:message>
<wsdl:message name="GetOrdersResponse">
<wsdl:part name="parameters" element="os:GetOrdersResponse"/>
</wsdl:message>
<wsdl:portType name="GetOrdersPortType">
<wsdl:operation name="GetOrders">
<wsdl:input message="tns:GetOrdersRequest"/>
<wsdl:output message="tns:GetOrdersResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GetOrdersBinding" type="tns:GetOrdersPortType">
<soap:binding …Run Code Online (Sandbox Code Playgroud) 在用WCF完成几个小项目之后,我对它的功能非常满意.
但是,花了很短的时间研究替代方案,我很难找到使用基于Java的Web服务(如AXIS2或Metro)时会遇到的确切优势/缺点?
显然开源可能是其中之一,也脱离了Windows Server/IIS,但我看不到更多?