这代码是不是有问题?

C996387762 2019-01-23 05:46:30
public class Test2 {
public String getCurrentData(string aCode,string bCode){
String url = "http://bdlj/Servicfirst?wsdl";
Client client = new Client(new URL(url));
Object[] retunObjs = null;
retunObjs = client.invoke("getCurrentData", new Object[] {"HRD_a","HRD_b"});//a编号150102283,b编号150200042
System.out.println(retunObjs[0].toString());
}
}
}
...全文
813 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuan.ye 2019-02-15
  • 打赏
  • 举报
回复
https://howtodoinjava.com/spring-boot/spring-soap-client-webservicetemplate/

LZ 替你找了一个完整的DEMO,从服务器到客户端都有。
xuan.ye 2019-02-15
  • 打赏
  • 举报
回复
个人觉得 "org.springframework.web.client.RestTemplate" 这个比较好用。


import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;

import com.fasterxml.jackson.core.JsonProcessingException;

@Service
public class CustomRestTemplate extends RestTemplate {

private final Logger logger = LoggerFactory.getLogger(CustomRestTemplate.class);

@Autowired
CommonProperties commonProperties;

@Autowired
RestTemplate restTemplate;

/**
* 提交服务器
*
* @param uri 地址
* @param map 头部
* @param hashMap 表单参数
* @return
* @throws JsonProcessingException
*/
public String custom_postForObject(String uri, Map<String, String> map) throws JsonProcessingException {

HttpHeaders header = new HttpHeaders();
MediaType mediaType = MediaType.parseMediaType("application/json;charset=utf-8");
header.setContentType(mediaType);
header.add("Accept", MediaType.APPLICATION_JSON_UTF8.toString());

// 1、URL地址
String url = commonProperties.getPhp_root() + uri;
if (map != null) {

Set<String> set = new HashSet<String>();
for(Entry<String, String> item:map.entrySet())
set.add(item.getKey()+"="+item.getValue());

url = url +"?"+ StringUtils.join(set,"&");
}

// 2、提交
String result = "";
try{
result = restTemplate.postForObject(url, null, String.class);
}
catch(Exception ex)
{
logger.error(ex.getMessage() + ";url:"+ url);
}

return result;
}

/**
* 提交服务器
*
* @param uri 地址
* @param headerParams 头部
* @param bodyJsonParams 表单参数
* @return
* @throws JsonProcessingException
*/
public String custom_postForm(String uri, Map<String, String> headerParams, Map<String, String> bodyFormParams) throws JsonProcessingException {


// 1、URL地址
String url = commonProperties.getPhp_root() + uri;
if (headerParams != null) {

Set<String> set = new HashSet<String>();
for(Entry<String,String> item:headerParams.entrySet())
set.add(item.getKey()+"="+item.getValue());

url = url +"?"+ StringUtils.join(set,"&");
}

// 2、Header
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

// 3、Body
MultiValueMap<String, String> body= new LinkedMultiValueMap<String, String>();
for(Entry<String,String> item:bodyFormParams.entrySet())
body.add(item.getKey(), item.getValue());

HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(body, headers);
String data ="";
try
{
ResponseEntity<String> response = restTemplate.postForEntity( url, request , String.class );
data = response.getBody();
}
catch(Exception ex)
{
logger.error(ex.getMessage());
}

return data;
}

/**
* 提交服务器
*
* @param uri 地址
* @param headerParams 头部
* @param bodyJsonParams 表单参数
* @return
* @throws JsonProcessingException
*/
public String custom_postForObject(String uri, Map<String, String> headerParams, String bodyJsonParams) throws JsonProcessingException {

HttpHeaders header = new HttpHeaders();
MediaType mediaType = MediaType.parseMediaType("application/json;charset=utf-8");
header.setContentType(mediaType);
header.add("Accept", MediaType.APPLICATION_JSON_UTF8.toString());

// 1、URL地址
String url = commonProperties.getPhp_root() + uri;
if (headerParams != null) {

Set<String> set = new HashSet<String>();
for(Entry<String,String> item:headerParams.entrySet())
set.add(item.getKey()+"="+item.getValue());

url = url +"?"+ StringUtils.join(set,"&");
}

// 1、Form
HttpEntity<String> formEntity = new HttpEntity<String>("",header);
if (bodyJsonParams != null && bodyJsonParams.equals("")==false) {

formEntity = new HttpEntity<String>(bodyJsonParams,header);
}

// 2、提交
String result = "";
try {
result = restTemplate.postForObject(url, formEntity, String.class);
}
catch(Exception ex)
{
logger.error(ex.getMessage());
}

return result;
}
}
angel6709 2019-02-15
  • 打赏
  • 举报
回复
where is RETURN
  • 打赏
  • 举报
回复
public String getCurrentData(string aCode,string bCode){

参数string的s没大写,没有return值

其他代码没有问题
toilerchen 2019-02-13
  • 打赏
  • 举报
回复
debug一次就知道有没有问题
C996387762 2019-01-28
  • 打赏
  • 举报
回复
引用 4 楼 INSISTING2018 的回复:
之前写的一个cxf的调用WebService接口的demo,参考下

JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
//通过wsdl服务描述文件创建客户端工厂。
Client client = factory.createClient("http://172.18.48.150:8080/WebServicePro/service/HelloWorldService?wsdl");
//invoke(
//String operationName:要调用的方法名
//Object... params):方法的入参。可以是多个。
Document document = DocumentHelper.createDocument();
Element root = document.addElement("root");
Element child = root.addElement("child");
child.setText("我是兒子!");
String xmlString = document.asXML();
Object[] objs = client.invoke("sayHello", xmlString);
//invoke方法是默认返回Object[]数组。取出数组的第一位值得值就是返回值。
System.out.println(objs[0].toString());


都改了myeclipse就是通不过
万能蓝 2019-01-24
  • 打赏
  • 举报
回复
运行一把不就知道了
INSISTING2018 2019-01-24
  • 打赏
  • 举报
回复
之前写的一个cxf的调用WebService接口的demo,参考下

JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
//通过wsdl服务描述文件创建客户端工厂。
Client client = factory.createClient("http://172.18.48.150:8080/WebServicePro/service/HelloWorldService?wsdl");
//invoke(
//String operationName:要调用的方法名
//Object... params):方法的入参。可以是多个。
Document document = DocumentHelper.createDocument();
Element root = document.addElement("root");
Element child = root.addElement("child");
child.setText("我是兒子!");
String xmlString = document.asXML();
Object[] objs = client.invoke("sayHello", xmlString);
//invoke方法是默认返回Object[]数组。取出数组的第一位值得值就是返回值。
System.out.println(objs[0].toString());
十八道胡同 2019-01-23
  • 打赏
  • 举报
回复
没返回你要的结果吗?
DF10F-0001A 2019-01-23
  • 打赏
  • 举报
回复
反问:你觉得应该有什么问题
随机开仓,止盈1~2个点,止损1~20个点能实现盈利正期望吗?《从编程小白到量化宗师之路》系列课程是一套综合性实战课程,涵盖股票,期货,虚拟货币等的交易方法和策略手段。《m单位止盈 n单位止损的方式,能不能实现盈利?》是本系列的第四个中级课程。本网站的课程宗旨是缩短个人或小型投资者与大型机构投资者之间的的差距。课程内容从交易者经常见到,经常思考的问题开始,通过分析成交后的盈亏分布,建立模型,刻画问题,并对问题以数学的方式进行了表达。从而得出结论。与市面上的其他理论课程不同,本课程注重实战,注重结果,全部模型代码均已经上传发表,学员上课后,可以使用自己的tick数据,进行分析。如果获取tick数据有疑问,可以参考课程:《期货CTP高频数据Tick下载》 https://edu.csdn.net/course/detail/24783本课程能够解答的问题有:1)请问1单位止盈,3单位止损的系统是否能实现正期望值? https://www.zhihu.com/question/423194389/answer/14989174122)抢帽子交易是什么意思?为什么有的人能够成功,说是取款机,而有的人说风险巨大,是老虎机。看过这个课程,您将会知道:a) 这类问题的究极解决方案,直达问题核心,不再纠结原因b)构建一段时间可用的交易策略c)知道“没有不变的策略”的原因  
【课程简介】本课程是《Armv8/Armv9架构从入门到精通 第二期》中的第四章。建议购买大课程。本课程以为armv8-aarch64、armv9为基准,不涉及armv7及其以前的版本,也不涉及aarch32。本课程包含但不限于以下内容MMU的基础学习:啥是MMU?工作原理?MMU和cache之间的关系?及其怎样相互影响的?哪些是MMU硬件自动的行为?哪些是软件可配置的行为?地址空间基础:啥是虚拟地址空间?啥是物理地址空间?啥时memory-map? 代码程序中的虚拟地址空间是怎样的?arm core硬件决定的物理地址空间是怎样的?SOC memory-map时的地址空间是怎样的?具体的外设又是怎样的地址空间?Translation Regime:系统里有多少个MMU?系统里有多少个Translation Regime?他们之间的关系是怎样的?页表翻译:MMU是怎样翻译的?页表有几级?这些信息是怎么告诉MMU的,MMU又是怎样工作的,软件又需要怎样设计?stage1和stage2的区别和使用?Descriptor:啥是Descriptor、页表项、entry、条目、页表条目? Descriptor的格式是怎样的?每一个属性位是怎样的?MMU除了完成地址转换,属性权限的控制/cache的缓存策略是怎样配置的?optee中使用MMU的示例MMU深度思考篇:开启MMU瞬间可能出现的问题以及多种常用的解决方案。注意这里提到的是多种方案,绝大多数人只知道第一种,除此之外还有没有其它的设计方式? MMU关闭时cache的缓存策略会怎样?【思考】01、一个大系统中有多少个MMU ?02、一个ARM Core中有多少个Translation regime?03、EL1&0 Translation regime Stage2、EL2 Translation regime stage1、EL2&0 Translation regime stage1 这三者的区别是什么?04、TTBR1_EL2寄存器有啥特殊性,这个寄存器是给谁使用的?05、有没有TTBR1_EL3寄存器?为什么?06、什么是memory-map? 一个ARM的系统中,有几套物理地址空间?07、页表到底有几级? 页表最少可以有几级?页表最多可以有几级?08、页表有多大? 页表存放在哪里?页表由谁来管理?09、页表是否能放在cache中?10、什么是Translation Table walk? 什么是TLB?11、请简述页表查询的过程?12、在一个大系统中,物理地址是多少位的? 物理地址是多少位指的是什么?虚拟地址又是多少位的? 物理地址的位数和虚拟地址的位数都是由谁来决定的?13、请说明entry、descriptor、页表项、条目 这个四个词汇的由来?14、TCR中有缓存属性和共享属性、页表的entry中也有缓存属性和共享属性,这俩有什么区别?15、请简述TTBR0和TTBR1的概念和意义?16、请简述cacheability和shareability属性的含义?17、stage1和stage2有何区别?18、stage1和stage2的descriptor中,有很多重复的属性,当两者属性有冲突了怎么办?19、L1、L2、L2的descriptor中也有部分相同的属性,重复时怎么办?20、Descriptor的格式有哪几种?21、Descriptor的类型有哪几种?22、简述您所观察到的系统软件中(操作系统或hypervisor)的shareability和cacheability一般都是怎样配置的?23、开启一个MMU的步骤是怎样的?24、啥是flat map? 啥是full level table?25、页表中的AF属性位、DBM属性位分别是干啥的?26、页表中的nG属性位是干啥的?27、页表中的Contiguous属性位是干啥的?28、在开启MMU的瞬间会考虑哪些事情?【课程目录】当前21节课,6.8小时
 课程目标:你将对研发框架的代码封装和开发规范制定的底层实现逻辑有所掌握,并形成自己的开发封装套路,告别CRUD课程简介:   1. 课程背景: 能帮你解决什么问题?企业中通常由架构师搭建好开发框架,里面包含了很多封装好的基础结构,日志规范以及响应的异常统一处理,还有相应的参数校验等。很多初中高级开发工程师没有机会接触这部分代码的逻辑,而这部分代码逻辑又是非线性的,单纯看代码逻辑是看不出来执行顺序的,需要大量调试总结。不像mvc代码结构,你知道从Controller层看到Service再到Dao层,而这样底层的基础性代码则像积木,不熟悉的前提下需要一块块的插入拔出,不断总结,而沿着本课程的顺序梳理与实战你将会豁然开朗。市面上的大多文章结构较散,并且处理不够全面,比如返回结构通常是 具体的正例与反例日志统一处理 统一异常处理及特殊的情况处理 参数优雅校验 1基础的校验 2. 自定义校验 3.分组校验最重要的是给大家捋顺了一个清晰的实现结构以上在我们后面章节Spring Boot HelloWorld的至少10个可扩展点里有更多的相关介绍,在核心章节里有更细致的讲解实现。理解框架升级底层逻辑: 全网首套基于Spring Boot 3.x+Java 17开发系列 SpringBoot3的升级背景和路线逻辑掌握代码重构及编码效率提升技巧学习基于最为前沿的Spring Boot 3.x 和 Java 17 开发代码依赖于Spring Boot 3.x Java 17环境开发穿插相应新版本的变化讲解可编写完成一个生产级开发规范框架的制定 包含不限于 统一响应结构统一异常处理基于ThreadLocal处理请求RequestId基于日志框架的MDC 统一记录日志统一状态码处理Filter中的异常及状态码处理,以及日志的完整性处理自定义优雅参数校验学习源码剖析方式方法等等 3. 课程规划1.  课程章节规划 2. 讲课方式代码实战为主+图文演示为辅例如说明后端校验的重要性 以一张图清晰明了的展示说明解答了为何前端有了前端校验还要后端校验的问题 3. 特别说明本课程所有代码使用版本会随着Spring Boot 3.x的开发进度而更新,直到Spring Boot 3.x的正式版本发布,可放心食用本课程的重点会侧重放在研发框架的基础规范编码上,并非专注于SpringBoot3.x和Java17的新特性上讲解。主要是两点原因,1课程的方向侧重点, 2. SpringBoot3.x 官方尚处于MileStone/Snapshot版并未Release,所以大家可关注本人编程燃风后续的产品课程。本课程代码同样适用于Spring Boot 1.x 2.x 只需微调API和相关库版本的即可(注意1.x已经归档不维护) 常见问题:问:是否讲解Java17和SpringBoot3新特性答:本课程的重点会侧重放在研发框架的基础规范编码上,并非专注于SpringBoot3.x和Java17的新特性上讲解。主要是两点原因,1课程的方向侧重点是框架基础规范编码实战 2. SpringBoot3.x 官方尚处于MileStone/Snapshot版并未Release,所以大家可关注本人编程燃风后续的讲解课程。问:代码仅限于SpringBoot3吗? SpringBoot2和SpringBoot1是否适用?答:本课程代码同样适用于Spring Boot 1.x 2.x 只需微调API和相关库版本的即可(注意1.x已经归档不维护)。另外本课程重点讲解代码封装和底层实现逻辑和具体API版本关联不大,只是基于最新的SpringBoot3和Java17实现而已,请放心使用。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧