当前位置: 首页 > wzjs >正文

东莞建设网站培训互联网营销师培训课程免费

东莞建设网站培训,互联网营销师培训课程免费,个人网页制作方法,上海注册公司注册资金使用 SoapUI 调用别人提供的wsdl 文件调用成功没问题以后 根据apache cxf 生成的代码发起调用报错 刚开始报错找不到什么东西 然后我使用 System.setProperty(“javax.xml.bind.JAXBContext”, “com.sun.xml.internal.bind.v2.ContextFactory”); 加到代码里面解决此问题 然…

使用 SoapUI 调用别人提供的wsdl 文件调用成功没问题以后 根据apache cxf 生成的代码发起调用报错

刚开始报错找不到什么东西 然后我使用
System.setProperty(“javax.xml.bind.JAXBContext”, “com.sun.xml.internal.bind.v2.ContextFactory”);
加到代码里面解决此问题

然后又报错
com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Server Error Please see the server log to find more detail regarding exact cause of the failure.

这个就让我难受了 凭什么自动生成的代码调用会报错 最后找了半天找不到解决原因 于是就使用http发起请求调用 拿到 list bo里面的值 然后循环拼接到xml里面 最后发起调用即可解决 其实webservice 的服务也是一种请求格式 只要按照这个格式发起请求就不会出错

当然也可以加上对方的webservice 的账号密码 调用 以下是我的代码 直接异步调用 不需要管

免费公开 还希望您可以

点赞 评论 加关注

public static void main(String[] args) {ExecutorService executor = Executors.newSingleThreadExecutor();// 添加一些示例数据List<xxxx  > resList = new ArrayList<>();xxxx   bo1 = new xxxx  ();bo1.setId("1");bo1.setCode("ok");resList.add(bo1);xxxx  bo2 = new xxxx  ();bo2.setId("2");bo2.setCode("ok");resList.add(bo2);executor.submit(() -> {try{getallpust(resList);}catch (Exception e){System.out.println("报错");System.out.println(e);}});executor.shutdown();}public static void getallpust(List<xxxxxx> resultTableList){String url = "http://127.0.0.1:7000/xxxx/xxx/xxx/xxx";// 创建一个示例String soapMessage = buildSoapMessage(resultTableList);System.out.println(soapMessage);// 创建 HTTP 客户端try (CloseableHttpClient httpClient = HttpClients.createDefault()) {HttpPost httpPost = new HttpPost(url);// 设置请求头httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");httpPost.setHeader("SOAPAction", "http://sap.com/xi/WebService/soap1.1");// 添加 Basic AuthString auth = "xxxxx:xxxxx"; // 替换为你的账号和密码byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes(StandardCharsets.UTF_8));String authHeader = "Basic " + new String(encodedAuth);// 不需要账号密码的情况下 可以删掉httpPost.setHeader("Authorization", authHeader);// 设置请求体httpPost.setEntity(new StringEntity(soapMessage, StandardCharsets.UTF_8));// 发送请求try (CloseableHttpResponse response = httpClient.execute(httpPost)) {HttpEntity responseEntity = response.getEntity();if (responseEntity != null) {String responseString = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);System.out.println("Response: " + responseString);}}} catch (IOException e) {throw new RuntimeException(e);}}//这里拼接上自己的xml格式的内容public static String buildSoapMessage(List<xxxxxxx> xxxxxxxx) {StringBuilder soapMessageBuilder = new StringBuilder();soapMessageBuilder.append("<xxxxxxx>\n");soapMessageBuilder.append("   <xxxxxxx>\n");soapMessageBuilder.append("      <xxxxxxx>\n");soapMessageBuilder.append("      </xxxxxx>\n");soapMessageBuilder.append("   </xxxxxx>\n");soapMessageBuilder.append("</xxxxxxx>");return soapMessageBuilder.toString();}// 用于转义 XML 特殊字符public static String escapeXml(String input) {if (input == null) {return "";}return input.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;").replace("\"", "&quot;").replace("'", "&apos;");}

这个里面的url地址是别人提供给你的wsdl文件在soapUI里面导入以后发起调用的地址

在这里插入图片描述

1,打开soap 选择wsdl文件

2,找到你需要的请求 点击request 1

复制3的地址到你的url里面

注意!!!! url地址如果报错 我记得是 218 还是 208 就是有特殊字符 你自己转一下即可

http://www.dtcms.com/wzjs/219396.html

相关文章:

  • 中国建设银行的网站用户名是什么室内设计培训哪个机构比较好
  • 北京澳环网站百度百度一下首页
  • 专业做招聘的网站seo宣传
  • 大连市城乡建设厅网站重庆网站优化
  • ftp网站模板私人网站服务器
  • b2b网站怎么建设百度seo点击工具
  • 上海公司做网站的价格长沙网络推广营销
  • 陕西省医院网站建设管理赚钱平台
  • 房屋设计图怎么制作公司网站seo公司
  • 做嫒嫒网站百度网址大全电脑版
  • 做性奴双马网站英文外链seo兼职在哪里找
  • 自助手机建站学网络与新媒体后悔死了
  • 深圳模板网站制作长沙网红奶茶
  • 如何不用代码做网站查关键词
  • 一个网站的欢迎页怎样做株洲疫情最新情况
  • 做公司网站用什么系统设计公司网站
  • 深圳网站设计工作室常见网络营销推广方法
  • 虎门镇网站仿做企业微信scrm
  • 河东做网站公司中国万网域名注册
  • 设计的有趣的网站推荐网络推广营销公司
  • 江津哪里找做网站的优化大师官网下载安装
  • 哪个网站可以做思维导图百度知道合伙人
  • 自己做网站收费么武汉seo主管
  • 印刷网站建设北京新闻最新消息
  • 扶绥县住房和城乡建设局网站上海搜索引擎优化1
  • 建设银行网站怎样查询贷款信息查询代引流推广公司
  • 做课件需要的纯音乐网站域名注册好了怎么弄网站
  • 中国营销传播网app免费seo教程分享
  • 合肥企业网站建设公司哪家好百度识图扫一扫
  • 怎么在日本做乐天网站供货商标题优化seo