项目一 11 报运单 webservice(跨网站,跨应用的调用)

本文介绍了一种批量数据处理方法,包括Excel数据导入、报表打印等,并详细阐述了报运单管理系统的构建过程,涉及购销合同管理、报运单商品及附件的创建与修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回顾

  • 货物的批量导入
    • 根据excel创建工作簿workbook
    • 获取sheet
    • 循环获取每一行row
    • 循环获取每一个单元格cell
  • 报表打印
    • 创建工作簿
    • 创建sheet
    • 创建标题
    • 创建数据行
  • 模板打印
  • 百万数据的POI
    • Sxssfworkbook
    • 事件模式

1.合同管理

查询所有状态为1的购销合同,并且展示
在这里插入图片描述

2.出口报运的业务概述

在这里插入图片描述

出口报运 :

​ 1.根据购销合同生成出口报运单 , 设置出口报运的所有商品和附件信息

​ 2.完成电子报运

表结构:

​ 购销合同表

​ 购销合同的货物表

​ 购销合同的附件表 ext_cprocut

​ 报运单表 export

​ 报运单商品表 export_Product

​ 报运单商品附件表 ext_eproduct

数据库使用的打断设计:

​ 使用场景 : 多层级的一对多或者一对一

​ 一对一: 多个表之间使用共享主键

​ 一对多:通过打断字段( 设置到主表上,配置从表的id集合 )

3.报运单管理

3.2 搭建环境

在这里插入图片描述

3.2 展示报运单列表

在这里插入图片描述

3.3 新增报运单

3.3.1进入新增页面

在这里插入图片描述

3.3.2 新增报运单

在这里插入图片描述

###3.3.3保存报运单

  1. 设置报运单id
  2. 设置报运单状态 : 0-草稿
  3. 设置报运单中的打断字段
  4. 设置报运单中的合同号集合
  5. 设置报运单状态
  6. 保存报运单

在这里插入图片描述

###3.3.4保存报运单商品

  1. 根据购销合同查询所有的购销合同货物
  2. 根据货物创建报运单商品
  3. 设置报运单商品的id
  4. 设置报运单商品的报运单id
  5. 保存商品

在这里插入图片描述

###3.3.5保存报运单商品附件

  1. 根据购销合同查询所有的货物附件
  2. 根据货物附件创建报运单商品附件
  3. 设置商品附件的id
  4. 设置商品附件的报运单id
  5. 设置商品附件的商品id
  6. 保存附件

在这里插入图片描述

3.4 修改报运单

3.4.1进入到修改页面

  • 根据id查询报运单
  • 根据报运单id查询报运单下的所有商品

在这里插入图片描述

3.4.2 实现报运单修改

在这里插入图片描述

4 webservice的概述

webservice是一种规范,使用webservice可以方便的进行跨网站,跨应用的调用

4.1 webservice的三种规范

4.1.1 jax-ws

soap协议 : 以http的形式传递标准格式的XML文件

4.1.2 jax-rs

是基于RestFull风格的web应用

jax-rs : 传递的参数类型 , xml|json

4.2 基于JAX-RS的入门案例

在这里插入图片描述

4.2.1 Apache CXF

在这里插入图片描述

###4.2.2 服务发布方(了解)

  • 配置实体类
  • 配置service接口和service实现类
  • 配置spring整合webservice的配置文件
  • 配置web.xml配置文件

###4.2.3 服务调用方(重点)

  • 配置实体类
  • 使用WebClient调用

作业:

​ 1.代码一致

​ 2.练习rs规范

​ 3.搭建海关报运平台

ps:主要解决在webservice中,我们想从另外项目调用webservice项目的接口,也就是跨项目调用接口 这里主要用到了xfire wsdl 废话不说了 直接上东西 1. 首先新建项目 2. 在src下创建两个文件: a)个是你想要访问的webservice的接口,比如我想访问的接口是 ReleaseService 那就在当前项目创建个ReleaseService接口(接口中的方法必须和你想要访问的webservice的接口中的方法相同) b) 第二个是你的调用类 3. 导入相应的jar包,这些包不能引用,定要复制到lib文件夹下面在引用 4. 具体的实现代码 TestWebService方法的代码: package com.isanta.webServiceTest; import java.io.InputStream; import java.net.MalformedURLException; import java.util.Properties; import java.util.Scanner; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; public class TestWebService { /** * @param args */ public static void testWebService() throws MalformedURLException, Exception{ // TODO Auto-generated method stub /** *这里是我的参数放在了properties文件中,我在读取里面的参数,这里我们也可以通过方法传参数 *如 : testWebService(String url,String xMlStr)() 那么在调用的时候就可以直接传进来了 *url 是你访问的webservice 的tomcat 的服务器地址 */ Properties pro = new Properties(); InputStream in = null; in = TestWebService.class.getResourceAsStream("/request.properties"); pro.load(in); String url = pro.getProperty("url"); String xMLstr = pro.getProperty("xMLstr"); Service s=new ObjectServiceFactory().create(ReleaseService.class); XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire()); System.out.println("url="+url); try { //这里就是获取webservice的接口的实例对象 ReleaseService seleaseService=(ReleaseService) xf.create(s,url); System.out.println("进入接口----------------->请求文:"+xMLstr); //这里就是调用你需要的接口的方法 String st=seleaseService.queryReceiptDatas(xMLstr); System.out.print(st); } catch(Exception e) { e.printStackTrace(); } } } 5. 将整个项目打包成jar 6. 将打好的jar包引入到你想要调用项目中,然后就想 正常的代码样来调用,如: import java.net.MalformedURLException; import com.isanta.webServiceTest.TestWebService; public class Test { public static void main(String[] args) throws MalformedURLException, Exception { TestWebService.testWebService(); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值