java代码调用python_python 调用 Java 代码示例

艺赛旗RPA2020.3.0版本 正在免费下载使用中,欢迎下载使用艺赛旗-RPA机器人免费下载|提供流程自动化解决方案​www.i-search.com.cnv2-2ca909238136d5436e0408bff6a3d53a_180x120.jpg

了解RPA请访问艺赛旗-RPA机器人免费下载|提供流程自动化解决方案​www.i-search.com.cnv2-2ca909238136d5436e0408bff6a3d53a_180x120.jpg

import os

import jpype

def open_jvm():

"""开启Java虚拟机(JVM)"""

# # 获取jvm.dll 的文件路径

# jvmPath = jpype.getDefaultJVMPath()

jpype.startJVM("-ea", convertStrings=True)

def add_jars_directory(path):

"""从给定目录中导入所有jar包,路径不能有中文,必须在开启虚拟机之前"""

if os.path.isdir(path):

jpype.addClassPath(os.path.join(path, "*"))

else:

raise TypeError("不是文件夹")

def add_jar(jar_path):

"""导入某个指定路径的jar包,,必须在开启虚拟机之前"""

if os.path.isfile(jar_path) and jar_path.endswith("jar"):

jpype.addClassPath(jar_path)

else:

raise TypeError("不是jar文件")

def java_obj(class_name):

"""给定java完整类名,获取java对象"""

return jpype.JClass(class_name)

##############################################################

def send_message(cmpp_path=r'D:\cmpp',src_terminal_id="106575218526",dest_terminal_id=["17625089882"],msg_content="5128185260073",reserve="123"):

"""

需提前将config.xml文件配置好并放在文件夹下

具体是哪个文件夹可以先运行后从报错信息中获取

: @param cmpp_path 存放Cmpp.jar和smproxy_cmpp.jar的路径

: @param src_terminal_id 源终端MSISDN号码

: @param dest_terminal_id 接收业务的MSISDN号码,可以有多个

: @param msg_content 消息内容

: @param reserve 保留内容

"""

add_jars_directory(cmpp_path) # 导入jar包

print("1")

open_jvm() # 开启java虚拟机

print("2")

# 构造短信对象

CMPPSubmitMessage = java_obj("com.huawei.smproxy.comm.cmpp.message.CMPPSubmitMessage") # 2

msg = CMPPSubmitMessage(1, # @param pk_Total 相同msg_Id消息总条数

1, # @param pk_Number 相同msg_Id的消息序号

1, # @param registered_Delivery 是否要求返回状态报告

1, # @param msg_Level 信息级别

"websms", # @param service_Id 业务类型

0, # @param fee_UserType 计费用户类型字段

"", # @param fee_Terminal_Id 被计费用户的号码

0, # @param tp_Pid GSM协议类型

0, # @param tp_Udhi GSM协议类型

15, # @param msg_Fmt 消息格式 8或15

"900100", # @param msg_Src 消息内容来源

"02", # @param fee_Type 资费类别

"10", # @param fee_Code 资费代码(以分为单位)

java_obj("java.util.Date")(jpype.java.lang.System.currentTimeMillis() + 172800000),

# @param valid_Time 存活有效期

None, # @param at_Time 定时发送时间

src_terminal_id, # @param src_Terminal_Id 源终端MSISDN号码

dest_terminal_id, # @param dest_Terminal_Id 接收业务的MSISDN号码

jpype.JString(msg_content).getBytes(), # @param msg_Content 消息内容

reserve # @param reserve 保留内容

)

# 建立连接并发送短信

return java_obj("demo.cmppdemo20.WebSMSender").getInstance().send(msg)

print("开始发短信")

send_message()

print("短信发送结束")

import os

import jpype

def open_jvm():

"""开启Java虚拟机(JVM)"""

# # 获取jvm.dll 的文件路径

# jvmPath = jpype.getDefaultJVMPath()

jpype.startJVM("-ea", convertStrings=True)

def add_jars_directory(path):

"""从给定目录中导入所有jar包,路径不能有中文,必须在开启虚拟机之前"""

if os.path.isdir(path):

jpype.addClassPath(os.path.join(path, "*"))

else:

raise TypeError("不是文件夹")

def add_jar(jar_path):

"""导入某个指定路径的jar包,,必须在开启虚拟机之前"""

if os.path.isfile(jar_path) and jar_path.endswith("jar"):

jpype.addClassPath(jar_path)

else:

raise TypeError("不是jar文件")

def java_obj(class_name):

"""给定java完整类名,获取java对象"""

return jpype.JClass(class_name)

##############################################################

def send_message(cmpp_path=r'D:\cmpp',src_terminal_id="106575218526",dest_terminal_id=["17625089882"],msg_content="5128185260073",reserve="123"):

"""

需提前将config.xml文件配置好并放在文件夹下

具体是哪个文件夹可以先运行后从报错信息中获取

: @param cmpp_path 存放Cmpp.jar和smproxy_cmpp.jar的路径

: @param src_terminal_id 源终端MSISDN号码

: @param dest_terminal_id 接收业务的MSISDN号码,可以有多个

: @param msg_content 消息内容

: @param reserve 保留内容

"""

add_jars_directory(cmpp_path) # 导入jar包

print("1")

open_jvm() # 开启java虚拟机

print("2")

# 构造短信对象

CMPPSubmitMessage = java_obj("com.huawei.smproxy.comm.cmpp.message.CMPPSubmitMessage") # 2

msg = CMPPSubmitMessage(1, # @param pk_Total 相同msg_Id消息总条数

1, # @param pk_Number 相同msg_Id的消息序号

1, # @param registered_Delivery 是否要求返回状态报告

1, # @param msg_Level 信息级别

"websms", # @param service_Id 业务类型

0, # @param fee_UserType 计费用户类型字段

"", # @param fee_Terminal_Id 被计费用户的号码

0, # @param tp_Pid GSM协议类型

0, # @param tp_Udhi GSM协议类型

15, # @param msg_Fmt 消息格式 8或15

"900100", # @param msg_Src 消息内容来源

"02", # @param fee_Type 资费类别

"10", # @param fee_Code 资费代码(以分为单位)

java_obj("java.util.Date")(jpype.java.lang.System.currentTimeMillis() + 172800000),

# @param valid_Time 存活有效期

None, # @param at_Time 定时发送时间

src_terminal_id, # @param src_Terminal_Id 源终端MSISDN号码

dest_terminal_id, # @param dest_Terminal_Id 接收业务的MSISDN号码

jpype.JString(msg_content).getBytes(), # @param msg_Content 消息内容

reserve # @param reserve 保留内容

)

# 建立连接并发送短信

return java_obj("demo.cmppdemo20.WebSMSender").getInstance().send(msg)

print("开始发短信")

send_message()

print("短信发送结束")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值