Tag: webservice client

如何在Eclipse中使用CXF来使用WebService

我正在尝试使用Eclipse和Apache CXF使用WEBSERVICE( http://www.detecno.mx/WCFTimbrador/DetecnoPac.svc?wsdl )。 我已经从http://cxf.apache.org/下载了最新的Apache CXF版本(2.5.2),并且已经在Eclipse首选项> Web服务> CXF 2.x首选项中配置了它的位置 尝试在我的项目中创建新的Web服务客户端时,我无法选择Apache CXF作为WS运行时(禁用“确定”按钮) 我的项目不是一个动态的Web项目,它与此有关吗? 它是一个普通的Java项目,其JAR包含在其他动态Web项目中。

为什么服务提供商返回SOAP Webservice错误?

我正在使用由webservicex服务器开发的SOAP web-service (从这里下载)来开发一个以IP地址作为输入的国家定位器应用程序。 使用wsimport导入jar文件和java文件。 现在,开发了一个java应用程序,它通过将输入作为IP地址返回国家名称。 一切都按计划工作,没有任何语法错误。 但是在执行java程序时,它返回了一个我无法追溯的错误(我是学习者)。 我不确定它是WS或Jar文件的问题。 错误如下: Exception in thread “main” com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: System.Web.Services.Protocols.SoapException: Server was unable to process request. —> System.NullReferenceException: Object reference not set to an instance of an object. at WebserviceX.Service.Adapter.IPAdapter.CheckIP(String IP) at WebserviceX.Service.GeoIPService.GetGeoIP(String IPAddress) — End of inner exception stack trace — Please see […]

如何从SOAP消息中删除空标题?

我正在使用Spring-WS来使用Webservice,如果SOAP包含有空头元素,那么它会得到补充。 我发现默认的SOAPMessage实现添加了一个。 我该如何删除它? 提前致谢

SOAPFaultException“MustUnderstand标头(oasis-200401-wss-wssecurity-secext-1.0.xsd)未被理解”

我尝试从使用PasswordText WSS类型的Web服务获取信息。 首先,我使用soapUI测试它并成功获取数据。 然后我在Java上实现了身份validation,编写了SecurityHandler: public final class SecurityHandler implements SOAPHandler { … @Override public boolean handleMessage(SOAPMessageContext messageContext) { boolean outInd = (Boolean) messageContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (outInd) { try { WSSecUsernameToken builder = new WSSecUsernameToken(); builder.setPasswordType(WSConstants.PASSWORD_TEXT); builder.setUserInfo(_username, _password); builder.addNonce(); builder.addCreated(); Document doc = messageContext.getMessage().getSOAPPart().getEnvelope().getOwnerDocument(); WSSecHeader secHeader = new WSSecHeader(); secHeader.insertSecurityHeader(doc); builder.build(doc, secHeader); } catch (Exception e) { […]

将自定义Soap标头添加到Webservice请求

我已经使用apache axis2为webserivce生成了存根,我想在请求中添加自定义soap标头我希望soap header看起来像这样 myusermypass 我正在写这段代码 org.apache.axiom.soap.SOAPEnvelope env = null; org.apache.axiom.om.OMFactory omFactory = org.apache.axiom.om.OMAbstractFactory.getOMFactory(); org.apache.axiom.om.OMElement omElement = omFactory.createOMElement(new javax.xml.namespace.QName(“urn:oasis:names:core”, “soapHeader”, “ns1”)); org.apache.axiom.om.OMElement omElement1 = omFactory.createOMElement(new javax.xml.namespace.QName(“urn:oasis:names:core”, “Username”, “ns1”)); org.apache.axiom.om.OMElement omElement2 = omFactory.createOMElement(new javax.xml.namespace.QName(“urn:oasis:names:core”, “Password”, “ns1”)); omElement.addChild(omElement1); omElement.addChild(omElement2); omElement1.setText(“myuser”); omElement2.setText(“mypass”); addHeader(omElement,env); 但我没有得到必需的肥皂头,这是我得到的 myuser 因为你可以看到密码丢失,我想知道我做错了什么

java webservice客户端

我有stfw但我找不到一个简单/独立的方式来在java中创建一个Web服务客户端。 有人有链接/样本吗?

NAMESPACE_ERR:尝试以对名称空间不正确的方式创建或更改对象

尝试从SOAP响应中检索SOAP正文,但是收到此错误: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces. Document doc = soapResMsg.getSOAPBody().extractContentAsDocument(); — Exception is thrown here org.dom4j.io.DOMReader d4Reader = new org.dom4j.io.DOMReader(); org.dom4j.Document d4doc = d4Reader.read(doc); 使用Saaj1.4 对此有什么解决方法?

黑莓kSoap2和肥皂头

尝试指定自定义soap标头。 不确定如何填充SoapEnvelope.headerOut属性。 我的代码到目前为止? String soapAction = serviceNamespace + “/SearchCustomer”; SoapObject rpc = new SoapObject(serviceNamespace, “SearchCustomers”); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = rpc; envelope.dotNet = true; envelope.encodingStyle = SoapSerializationEnvelope.ENC; rpc.addProperty(“searchBy”, searchBy); rpc.addProperty(“groupBy”, Integer.toString(groupBy)); 这是头文件WSDL提取… string string

JAX WS客户端无法进行身份validation

我正在尝试使用标准JAVA 7 JAX WS工具来使用安全(HTTPS模式)Web服务。 此Web服务需要身份validation。 我已经成功将证书添加到我的本地java密钥库。 我借助wsimport工具从WSDL文件生成所有需要的类。 现在我尝试使用以下调用来运行一个简单的测试: public class ReportingWebServiceTest { static ReportingServiceService service; static ReportingService port; @BeforeClass public static void setUpBeforeClass(){ service = new ReportingServiceService(); port = service.getReportingServicePort(); Map rContext = ((BindingProvider) port).getRequestContext(); Map<String, List> headers = new HashMap<String, List>(); headers.put(“Authorization”, Collections.singletonList(“Basic YWRtaW5AYWRhcHRsb2dpYy5jb206MTIxMjE****=”)); // headers.put(“Username”, Collections.singletonList(“*****@******.com”)); // headers.put(“Password”, Collections.singletonList(“********”)); rContext.put(MessageContext.HTTP_REQUEST_HEADERS, headers); // rContext.put(BindingProvider.USERNAME_PROPERTY, […]

具有两个元素的Spring更新SOAP标头

我使用Spring-WS和WebServiceTemplate来调用SOAP WebService。 目前,我在更新SOAP标头时遇到问题。 下面是SOAP请求的完整结构: ? ? ? 如上所示,我需要在Header中包含2个元素。 我有以下代码来更新WebServiceTemplate的SOAP标头 Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.transform(new StringSource(soapHeaderStr), ((SoapMessage) message).getSoapHeader().getResult()); 但是当我尝试使用两个元素(String)更新标头时,我收到以下错误消息: SOAPHeaderString ? ? ? 错误 [Fatal Error] :1:197: The markup in the document following the root element must be well-formed. ERROR: ‘The markup in the document following the root element must be well-formed.’ 原因是Security和MessageData元素没有根元素,它不应该是。 请帮助我在这种情况下如何更新标题? 谢谢