package Freesky.PCM.Common.Soap.WS;
import java.io.File;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.xerces.xni.QName;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import Freesky.PCM.Common.Soap.Interface.IImageBP;
import Freesky.PCM.Common.Soap.Interface.IImageWS;
public class ImageWS implements IImageWS {
private IImageBP iImageBP;
public IImageBP getiImageBP() {
return iImageBP;
}
public void setiImageBP(IImageBP iImageBP) {
this.iImageBP = iImageBP;
}
public String IfService(String ifUser, String ifPass, String ifCode,
String ifEvent, String info) throws Exception {
List<String> list = null;
Map<String , String> map=null;
Map<String, String> maps = new HashMap<String, String>();
/*if (ifUser.equalsIgnoreCase("PCMUSER")) {
maps.put("flag", "1");
maps.put("info", "成功");
if (ifPass.equalsIgnoreCase("USERPCM")) {
maps.put("flag", "1");
maps.put("info", "成功");
if (ifCode.equalsIgnoreCase("SXPCM")) {
maps.put("flag", "1");
maps.put("info", "成功");
if (ifEvent.equalsIgnoreCase("UPDATESTATE")) {
maps.put("flag", "1");
maps.put("info", "成功");
} else {
maps.put("flag", "0");
maps.put("info", "接口标识错误");
}
} else {
maps.put("flag", "0");
maps.put("info", "系统标示符错误");
}
} else {
maps.put("flag", "0");
maps.put("info", "密码错误");
}
} */
if(ifCode.equalsIgnoreCase("IF_ImageState")){
maps.put("flag", "1");
maps.put("info", "成功");
}else {
maps.put("flag", "0");
maps.put("info", "接口标识有误");
}
if (maps.get("flag").equalsIgnoreCase("1")) {
map = parseXMLS(info);
maps = iImageBP.changePCMState(map);
}
return createXMLS(maps);
}
private List<String> parseXML(String info) throws Exception {
List<String> list = new ArrayList<String>();
String pcm_code = "";
Document document = DocumentHelper.parseText(info);
Element root = document.getRootElement();
Element result = root.element("images");
Iterator iter = result.elementIterator("image");
while (iter.hasNext()) {
Element image = (Element) iter.next();
pcm_code = image.element("pcm_code").getText().trim();
list.add(pcm_code);
}
return list;
}
private Map<String , String> parseXMLS(String info) throws Exception {
List<String> list = new ArrayList<String>();
Map<String , String> map=new HashMap<String, String>();
String pcm_code = "";
String bar_detail = "";
Document document = DocumentHelper.parseText(info);
Element root = document.getRootElement();
Element result = root.element("images");
Iterator iter = result.elementIterator("image");
while (iter.hasNext()) {
Element image = (Element) iter.next();
pcm_code = image.element("bar_code").getText().trim();
bar_detail=image.element("bar_detail").getText().trim();
// list.add(pcm_code);
map.put(pcm_code, bar_detail);
}
return map;
}
private String createXML(Map<String, String> map) throws Exception {
Document document = DocumentHelper.createDocument();
document.setXMLEncoding("GBK");
Element root = document.addElement("ifResponse");
Element ifResult = root.addElement("ifResult");
if (map.get("flag").equalsIgnoreCase("1")) {
Element flag = root.addElement("flag");
flag.setText(map.get("flag"));
flag.addAttribute("Note", "标志");
Element info = root.addElement("info");
info.setText(map.get("info"));
info.addAttribute("Note", "信息");
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
String key = iter.next().toString();
if (map.get(key).equalsIgnoreCase("0")
|| map.get(key).equalsIgnoreCase("1")
&& !key.equalsIgnoreCase("flag")) {
Element result = ifResult.addElement("result");
result.addAttribute("Note", "结果");
Element pcm_result = result.addElement("pcm_result");
pcm_result.setText(map.get(key));
pcm_result.addAttribute("Note", "接口处理结果");
Element pcm_code = result.addElement("pcm_code");
pcm_code.setText(key);
pcm_code.addAttribute("Note", "报账单号");
Element pcm_time = result.addElement("pcm_time");
pcm_time.setText(new Date().toLocaleString());
pcm_time.addAttribute("Note", "接收时间");
}
}
} else {
Element flag = root.addElement("flag");
flag.setText(map.get("flag"));
flag.addAttribute("Note", "标志");
Element info = root.addElement("info");
info.setText(map.get("info"));
info.addAttribute("Note", "信息");
}
return document.asXML();
}
private String createXMLS(Map<String, String> map) throws Exception {
Document document = DocumentHelper.createDocument();
document.setXMLEncoding("UTF-8");
Element root = document.addElement("ifResponse");
Element returnInfos = root.addElement("returnInfos");
if (map.get("flag").equalsIgnoreCase("3")||map.get("flag").equalsIgnoreCase("0")) {
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
String key = iter.next().toString().trim();
if (map.get(key).equalsIgnoreCase("0")
|| map.get(key).equalsIgnoreCase("1")) {
Element result = returnInfos.addElement("result");
// result.addAttribute("Note", "结果");
Element ifResult = result.addElement("ifResult");
ifResult.setText(map.get(key));
// ifResult.addAttribute("Note", "接口处理结果");
Element infoId = result.addElement("infoId");
infoId.setText(map.get(key+"bar_detail"));
// infoId.addAttribute("Note", "发送记录Id");
Element receive_user = result.addElement("receive_user");
receive_user.setText("PCMUSER");
// receive_user.addAttribute("Note", "接收人");
Element receive_time = result.addElement("receive_time");
receive_time.setText(new Date().toLocaleString());
// receive_time.addAttribute("Note", "接收时间");
}
}
} else {
Element result = returnInfos.addElement("result");
// result.addAttribute("Note", "结果");
Element ifResult = result.addElement("info");
ifResult.setText("21");
// ifResult.addAttribute("Note", "接口处理结果");
Element infoId = result.addElement("info");
infoId.setText("");
// infoId.addAttribute("Note", "发送记录Id");
Element receive_user = result.addElement("info");
receive_user.setText("");
// receive_user.addAttribute("Note", "接收人");
Element receive_time = result.addElement("info");
receive_time.setText("");
// receive_time.addAttribute("Note", "接收时间");
}
System.out.println("outout "+document.asXML());
return document.asXML();
}
public static void main(String args[]) {
SAXReader reader = new SAXReader();
ImageWS ws = null;
Map<String, String> map = null;
Document document = null;
try {
document = reader.read(new File("c:\\images.xml"));
System.out.println(document.asXML());
// ws = new ImageWS();
// ws.parseXMLS(document.asXML());
System.out.println(new Date().toLocaleString());
// map = new HashMap<String, String>();
// map.put("123123123", "1");
// map.put("123123122", "1");
// map.put("123123121", "1");
// map.put("flag", "1");
// map.put("info", "信息");
// System.out.println(ws.createXML(map));
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String url = "http://169.254.8.81:8080/pcm/services/imageWS";
Service ser = new Service();
try {
Call call = (Call) ser.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName(new javax.xml.namespace.QName(url,
"IfService"));
String result = (String) call.invoke(new Object[] { "PCMUSER",
"USERPCM", "IF_ImageState", "IF_ImageState", document.asXML() });
System.out.println(result);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
本主题聚焦于使用Java编程语言通过Socket来实现一个简单的Web服务器。Socket在计算机网络中扮演着通信桥梁的角色,允许两个程序之间建立连接并交换数据。 首先,我们要理解Java中的Socket编程。Socket是Java网络...
LabVIEW Web Server 设计是一种利用LabVIEW开发的强大功能,使得用户可以通过Web浏览器远程监控和控制运行在服务器端的LabVIEW应用程序。这一特性使得用户无需在服务器端直接操作,即可实现远程的数据采集、分析和...
【Qt实现WebServer通讯】这一主题涉及到的是使用Qt框架构建一个能够与Web服务器进行通信的应用程序。Qt是一个跨平台的C++开发库,它提供了丰富的功能,包括图形用户界面、网络编程、数据库接口等,使得开发者可以...
在IT行业中,Web Service是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的通信协议,它允许不同的应用程序之间进行数据交换。在本主题中,我们将深入探讨使用Visual C++(简称VC)开发Web Service服务器的相关知识...
ASP WebServer是一款专门为Windows 10操作系统设计的Web服务器软件,它允许开发者在本地环境进行ASP(Active Server Pages)应用程序的开发和测试。ASP是一种基于微软.NET Framework的服务器端脚本语言,常用于构建...
WSDL(Web服务描述语言)用于描述WebService的接口,包括其提供的操作、参数和返回值。 在C++中调用WebService通常涉及以下步骤: 1. **选择库**:为了在C++中访问WebService,我们需要一个库,如gSOAP或libcurl。...
C编写的基于TCP的web server 端 可以下载网页
在VB6.0中调用Web服务是一种将传统桌面应用程序与现代网络服务集成的重要方法。Web服务通常基于SOAP(简单对象访问协议)和WSDL(Web服务描述语言),允许不同平台和语言之间的通信。本教程将深入探讨如何在Visual ...
在IT领域,特别是企业级应用服务(EBS)与Web服务集成方面,Oracle E-Business Suite(EBS)提供了一套强大的工具和技术,允许企业通过Web服务接口将EBS的功能暴露给外部系统或应用程序。本文将深入探讨在EBS中发布...
Web服务器是一个基于Linux的简单的服务器...包含webserve.c和pub.c ,wrap.c 在浏览器上面的搜索栏输入http://192.168.44.3:9999/hanzi.c 192.168.44.3是Linux环境的本机IP地址,9999是端口号,hanzi.c是打开的文件名
Arduino-WebServer_tng.zip,ESP8266/ESP32网络服务器,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
(牛客网C++课程)Linux 高并发Web服务器项目实战(带定时检测代码) 技术框架: 1. 线程池 + 非阻塞 socket + epoll + 事件处理的并发模型 2. 状态机解析HTTP请求 3. 心跳机制 4. 简易日志系统 主要内容: 1. ...
3.无法在Web服务器上启动调试。 4.无法在Web服务器上启动调试。Web服务器未能找到请求的资源。 5.单击“ASP.NET 配置”中的“安全”选项卡时显示错误信息 6.用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败
Ktor is a framework for quickly creating web applications in Kotlin with minimal effort. import io.ktor.server.netty.* import io.ktor.routing.* import io.ktor.application.* ...Runs embedded web serve
网络服务 程序 通过npm run build (例如)或任何适当的方式生成您的生产版本。..../<binary> help web-serve - A lightweight production build webapp server Usage: web-serve [commands] [flags] web
java.lang.reflect.invocationtargetexception问题的解决方法之一
此种问题主要是由于WebServe的问题,请确认您是否使用的IIS做为WebServe,目前系统只支持IIS; 2、系统安装成功后,不能更新数据? 请检查你的IIS权限设置是否正确,数据库存放目录是否有写入权限,如果均给了权限...
在压缩包内的文件名称列表中提到的“webServe”,可能是该项目的Web服务目录或者工程文件,包含了服务端的部署描述符(如wsdd文件)、服务类文件以及客户端的调用代码。在服务端,开发者通常会创建一个服务类,该类...
在 Eclipse 中创建一个 Web Project,命名为 `webServe`。在此项目中新建包 `com.cm.service` 并创建类 `HelloWorld`: ```java package com.cm.service; public class HelloWorld { public String sayHello...