@@ -331,6 +331,7 @@ public class EmployeeBatchGetTask { | |||||
// 批量保存用户信息 | // 批量保存用户信息 | ||||
saveBatch(dingEmployeeInfoSaveRecordList); | saveBatch(dingEmployeeInfoSaveRecordList); | ||||
} | } | ||||
log.info("员工同步完成"); | |||||
} | } | ||||
} | } | ||||
@@ -207,6 +207,15 @@ public class DeclaredProjectManage { | |||||
projectDto.setProjectCode(projectInfo.getProjectCode()); | projectDto.setProjectCode(projectInfo.getProjectCode()); | ||||
defaultDeclaredProjectManage.checkDuplication(projectDto); | defaultDeclaredProjectManage.checkDuplication(projectDto); | ||||
} | } | ||||
//如果主管单位没有 那么主管单位就是自己 | |||||
if(CommonEnum.NO.getCode().equals(projectDto.getIsSuperOrg())){ | |||||
projectInfo.setSuperOrgCode(user.getEmpPosUnitCode()); | |||||
projectInfo.setSuperOrg(user.getEmpPosUnitName()); | |||||
projectDto.setSuperOrgCode(user.getEmpPosUnitCode()); | |||||
projectDto.setSuperOrg(user.getEmpPosUnitName()); | |||||
} | |||||
//判断申报金额 是否等于总的 判断年度支付金额 是否等于总金额 | //判断申报金额 是否等于总的 判断年度支付金额 是否等于总金额 | ||||
defaultDeclaredProjectManage.checkAmount(projectDto); | defaultDeclaredProjectManage.checkAmount(projectDto); | ||||
@@ -214,7 +223,7 @@ public class DeclaredProjectManage { | |||||
WflowModels model = processModelService.getOne(Wrappers.lambdaQuery(WflowModels.class) | WflowModels model = processModelService.getOne(Wrappers.lambdaQuery(WflowModels.class) | ||||
.eq(WflowModels::getRegionCode, regionCode) | .eq(WflowModels::getRegionCode, regionCode) | ||||
.eq(WflowModels::getProcessType, ProjectProcessStageEnum.ORG_INTERNAL_APPROVAL_PROCESS.getCode()) | .eq(WflowModels::getProcessType, ProjectProcessStageEnum.ORG_INTERNAL_APPROVAL_PROCESS.getCode()) | ||||
.last("limit 1")); | |||||
.last(BizConst.LIMIT_1)); | |||||
if (Objects.isNull(model)) { | if (Objects.isNull(model)) { | ||||
log.error("此 【{}】区域找不到单位流程配置", regionCode); | log.error("此 【{}】区域找不到单位流程配置", regionCode); | ||||
@@ -7,6 +7,7 @@ import com.google.common.collect.Maps; | |||||
import com.ningdatech.basic.function.VUtils; | import com.ningdatech.basic.function.VUtils; | ||||
import com.ningdatech.pmapi.common.constant.BizConst; | import com.ningdatech.pmapi.common.constant.BizConst; | ||||
import com.ningdatech.pmapi.common.constant.RegionConst; | import com.ningdatech.pmapi.common.constant.RegionConst; | ||||
import com.ningdatech.pmapi.common.enumeration.CommonEnum; | |||||
import com.ningdatech.pmapi.common.enumeration.ProjectProcessStageEnum; | import com.ningdatech.pmapi.common.enumeration.ProjectProcessStageEnum; | ||||
import com.ningdatech.pmapi.common.helper.UserInfoHelper; | import com.ningdatech.pmapi.common.helper.UserInfoHelper; | ||||
import com.ningdatech.pmapi.projectdeclared.model.dto.DefaultDeclaredDTO; | import com.ningdatech.pmapi.projectdeclared.model.dto.DefaultDeclaredDTO; | ||||
@@ -162,7 +163,7 @@ public class DefaultDeclaredProjectManage { | |||||
String startOrgParentCode; | String startOrgParentCode; | ||||
String startOrgParentName; | String startOrgParentName; | ||||
// 如果申报时 上级主管单位,由该单位自己审核 | // 如果申报时 上级主管单位,由该单位自己审核 | ||||
if (Objects.isNull(project.getSuperOrgCode())){ | |||||
if (CommonEnum.NO.getCode().equals(project.getIsSuperOrg())){ | |||||
startOrgParentCode = startOrgCode; | startOrgParentCode = startOrgCode; | ||||
startOrgParentName = startOrgName; | startOrgParentName = startOrgName; | ||||
}else { | }else { | ||||
@@ -201,7 +202,8 @@ public class DefaultDeclaredProjectManage { | |||||
orgMap.put(OrgTypeEnum.TARGET_LABEL.name(),orgInfoDTO); | orgMap.put(OrgTypeEnum.TARGET_LABEL.name(),orgInfoDTO); | ||||
//如果有上级条线主管单位 并且 不是市本级 | //如果有上级条线主管单位 并且 不是市本级 | ||||
if(!RegionConst.RC_LS.equals(project.getAreaCode())){ | |||||
if(!RegionConst.RC_LS.equals(project.getAreaCode()) && | |||||
CommonEnum.YES.getCode().equals(project.getIsHigherSuperOrg())){ | |||||
OrgInfoDTO parentLineOrgInfoDto = new OrgInfoDTO(); | OrgInfoDTO parentLineOrgInfoDto = new OrgInfoDTO(); | ||||
parentLineOrgInfoDto.setOrganizationCode(project.getHigherSuperOrgCode()); | parentLineOrgInfoDto.setOrganizationCode(project.getHigherSuperOrgCode()); | ||||
parentLineOrgInfoDto.setOrganizationName(project.getHigherSuperOrg()); | parentLineOrgInfoDto.setOrganizationName(project.getHigherSuperOrg()); | ||||
@@ -0,0 +1,51 @@ | |||||
package com.ningdatech.pmapi.org; | |||||
import cn.hutool.core.collection.CollUtil; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.ningdatech.pmapi.AppTests; | |||||
import com.ningdatech.pmapi.organization.model.entity.DingOrganization; | |||||
import com.ningdatech.pmapi.organization.service.IDingOrganizationService; | |||||
import org.junit.Test; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import java.util.List; | |||||
/** | |||||
* @Classname RegionTest | |||||
* @Description | |||||
* @Date 2023/6/8 14:44 | |||||
* @Author PoffyZhang | |||||
*/ | |||||
public class OrgTest extends AppTests { | |||||
@Autowired | |||||
private IDingOrganizationService organizationService; | |||||
@Test | |||||
public void test(){ | |||||
List<DingOrganization> orgs = organizationService.list(Wrappers.lambdaQuery(DingOrganization.class) | |||||
.eq(DingOrganization::getDivisionCode, "331199")); | |||||
for(DingOrganization org : orgs){ | |||||
List<DingOrganization> inners = organizationService.list(Wrappers.lambdaQuery(DingOrganization.class) | |||||
.eq(DingOrganization::getParentCode, org.getOrganizationCode())); | |||||
for(DingOrganization inner : inners){ | |||||
mergeRegionCode(inner); | |||||
} | |||||
} | |||||
} | |||||
private void mergeRegionCode(DingOrganization inner) { | |||||
inner.setDivisionCode("331199"); | |||||
organizationService.updateById(inner); | |||||
List<DingOrganization> is = organizationService.list(Wrappers.lambdaQuery(DingOrganization.class) | |||||
.eq(DingOrganization::getParentCode, inner.getOrganizationCode())); | |||||
if(CollUtil.isEmpty(is)){ | |||||
return; | |||||
} | |||||
for(DingOrganization i : is){ | |||||
mergeRegionCode(i); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,35 @@ | |||||
package com.ningdatech.pmapi.region; | |||||
import com.ningdatech.pmapi.AppTests; | |||||
import com.ningdatech.pmapi.sys.model.entity.Region; | |||||
import com.ningdatech.pmapi.sys.service.IRegionService; | |||||
import org.junit.Test; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import java.util.List; | |||||
import java.util.Set; | |||||
import java.util.stream.Collectors; | |||||
/** | |||||
* @Classname RegionTest | |||||
* @Description | |||||
* @Date 2023/6/8 14:44 | |||||
* @Author PoffyZhang | |||||
*/ | |||||
public class RegionTest extends AppTests { | |||||
@Autowired | |||||
private IRegionService regionService; | |||||
@Test | |||||
public void test(){ | |||||
Set<Region> set = regionService.list().stream().collect(Collectors.toSet()); | |||||
Set<Long> ids = set.stream().map(Region::getId).collect(Collectors.toSet()); | |||||
regionService.removeByIds(ids); | |||||
regionService.saveBatch(set); | |||||
} | |||||
} |
@@ -181,7 +181,7 @@ organization: | |||||
- GO_ff70e47bae684fdba0d64f4acab85661 | - GO_ff70e47bae684fdba0d64f4acab85661 | ||||
yxt: | yxt: | ||||
# wsdl-url: http://115.239.137.23:9501/ws/v1?wsdl | |||||
# wsdl-url: http://115.239.137.23:9501/ws/v1?wsdl | |||||
wsdl-url: classpath:/wsdl.xml | wsdl-url: classpath:/wsdl.xml | ||||
#账号 | #账号 | ||||
user-code: hzndkj | user-code: hzndkj | ||||
@@ -203,8 +203,14 @@ provincial: | |||||
#天印服务器接口信息 | #天印服务器接口信息 | ||||
irs: | irs: | ||||
seal-platform: | seal-platform: | ||||
project-id: 1 | |||||
project-secret: 2 | |||||
access-key: 3 | |||||
secret-key: 4 | |||||
api-url: https://ibcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf | |||||
project-id: 330001110 | |||||
project-secret: 70e512d40c8f440484db4acab181570a | |||||
access-key: 42bcb49bea174986a3bfdfba7d005566 | |||||
secret-key: bebff29877d4443abd67fc4f8fb335d8 | |||||
api-url: https://bcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf | |||||
hostname: iZbp13nwyvib53j4j1p2xoZ | |||||
login: | |||||
phone-verify-code: | |||||
skip: true |
@@ -0,0 +1,215 @@ | |||||
server: | |||||
port: 38888 | |||||
servlet: | |||||
context-path: /pm | |||||
spring: | |||||
mvc: | |||||
pathmatch: | |||||
matching-strategy: ant_path_matcher | |||||
session: | |||||
store-type: redis | |||||
redis: | |||||
namespace: "spring:session" | |||||
redis: | |||||
timeout: 5000 | |||||
host: 47.98.125.47 | |||||
port: 26379 | |||||
database: 4 | |||||
password: Ndkj1234 | |||||
jedis: | |||||
pool: | |||||
max-active: 200 | |||||
max-idle: 500 | |||||
min-idle: 8 | |||||
max-wait: 10000 | |||||
application: | |||||
name: pm | |||||
jackson: | |||||
default-property-inclusion: non_null | |||||
time-zone: GMT+8 | |||||
date-format: yyyy-MM-dd HH:mm:ss | |||||
jpa: | |||||
properties: | |||||
hibernate: | |||||
default_schema: PUBLIC | |||||
hbm2ddl: | |||||
auto: update | |||||
show_sql: true | |||||
show-sql: true | |||||
hibernate: | |||||
ddl-auto: update | |||||
datasource: | |||||
type: com.alibaba.druid.pool.DruidDataSource | |||||
driverClassName: com.kingbase8.Driver | |||||
# 数据源 | |||||
druid: | |||||
url: jdbc:kingbase8://10.53.172.221:54321/nd_project_management?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&nullCatalogMeansCurrent=true | |||||
username: SYSTEM | |||||
password: Ndkj1234 | |||||
# 初始连接数 | |||||
initialSize: 5 | |||||
# 最小连接池数量 | |||||
minIdle: 10 | |||||
# 最大连接池数量 | |||||
maxActive: 20 | |||||
# 配置获取连接等待超时的时间 | |||||
maxWait: 60000 | |||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 | |||||
timeBetweenEvictionRunsMillis: 60000 | |||||
# 配置一个连接在池中最小生存的时间,单位是毫秒 | |||||
minEvictableIdleTimeMillis: 300000 | |||||
# 配置一个连接在池中最大生存的时间,单位是毫秒 | |||||
maxEvictableIdleTimeMillis: 900000 | |||||
# 配置检测连接是否有效 | |||||
#mysql使用:SELECT 1 FROM DUAL | |||||
validationQuery: SELECT 1 | |||||
testWhileIdle: true | |||||
testOnBorrow: false | |||||
testOnReturn: false | |||||
webStatFilter: | |||||
enabled: true | |||||
statViewServlet: | |||||
enabled: true | |||||
# 设置白名单,不填则允许所有访问 | |||||
allow: | |||||
url-pattern: /druid/* | |||||
# 控制台管理用户名和密码 | |||||
login-username: admin | |||||
login-password: admin | |||||
filter: | |||||
stat: | |||||
enabled: true | |||||
# 慢SQL记录 | |||||
log-slow-sql: true | |||||
slow-sql-millis: 1000 | |||||
merge-sql: true | |||||
wall: | |||||
config: | |||||
multi-statement-allow: true | |||||
#设置上传 单个文件的大小 | |||||
servlet: | |||||
multipart: | |||||
max-file-size: 100MB | |||||
max-request-size: 150MB | |||||
mybatis-plus: | |||||
configuration: | |||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl | |||||
global-config: | |||||
db-config: | |||||
logic-delete-value: true | |||||
logic-not-delete-value: false | |||||
logging: | |||||
config: classpath:logback-spring.xml | |||||
#日志配置 | |||||
level: | |||||
root: info | |||||
file: | |||||
path: logs | |||||
nd: | |||||
cache: | |||||
type: REDIS | |||||
serializerType: ProtoStuff | |||||
cacheNullVal: true | |||||
def: | |||||
keyPrefix: pm | |||||
log: | |||||
enabled: true | |||||
type: DB | |||||
# 文件存储 | |||||
file: | |||||
storage-type: ALI_OSS | |||||
ali: | |||||
protocol: http:// | |||||
bucket: projectmangmentoss | |||||
urlPrefix: oss-cn-lishui-gov-d01-a.ops.lsdx-zw.gov.cn | |||||
endpoint: oss-cn-lishui-gov-d01-a.ops.lsdx-zw.gov.cn | |||||
accessKeyId: XS3kNLtfW5i41SaC | |||||
accessKeySecret: 2cywvSZWANml7pZXxRAeAiHfisIhqm | |||||
# 日志文件配置 | |||||
log: | |||||
path: ./logs | |||||
info: | |||||
file-size: 50MB | |||||
max-size: 5 | |||||
total-size: 200MB | |||||
error: | |||||
file-size: 10MB | |||||
max-size: 5 | |||||
total-size: 50MB | |||||
swagger: | |||||
enabled: true | |||||
flowable: | |||||
async-executor-activate: true | |||||
#关闭一些不需要的功能服务 | |||||
rest-api-enabled: false | |||||
# database-schema-update: false | |||||
idm: | |||||
enabled: false | |||||
common: | |||||
enabled: false | |||||
dmn: | |||||
enabled: false | |||||
form: | |||||
enabled: false | |||||
app: | |||||
enabled: false | |||||
wflow: | |||||
file: | |||||
max-size: 20 #最大文件上传大小,MB | |||||
sa-token: | |||||
# token 名称 (同时也是cookie名称) | |||||
token-name: wflowToken | |||||
# token 有效期,单位s 默认30天, -1代表永不过期 | |||||
timeout: 172800 | |||||
# token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒 | |||||
activity-timeout: -1 | |||||
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) | |||||
is-concurrent: true | |||||
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) | |||||
is-share: false | |||||
# token风格 | |||||
token-style: uuid | |||||
# 是否输出操作日志 | |||||
is-log: false | |||||
#浙政钉公司顶级organizationCode | |||||
organization: | |||||
dept-visible-scopes: | |||||
- GO_c1a6f8d5338e4a468337b08da76e2e31 | |||||
yxt: | |||||
wsdl-url: classpath:wsdl-prod.xml | |||||
#账号 | |||||
user-code: Lssdsjj | |||||
#密码 | |||||
password: Lssdsjj@2021 | |||||
#音信通开关 | |||||
sms-enable: true | |||||
tel-enable: true | |||||
#省局联审 请求信息 | |||||
provincial: | |||||
host: http://zj.ningdatech.com/prometheus-zhejiang_foreign | |||||
pushUrl: /api/v1/foreign/importantPro | |||||
detailUrl: /api/v1/foreign/importantProView | |||||
key: 7196317343a64e67895dc0375c098fe7 | |||||
secret: 75152a97f20e4c4c854dc6301cf72ad4 | |||||
#天印服务器接口信息 | |||||
irs: | |||||
seal-platform: | |||||
project-id: 330001110 | |||||
project-secret: 70e512d40c8f440484db4acab181570a | |||||
access-key: 42bcb49bea174986a3bfdfba7d005566 | |||||
secret-key: bebff29877d4443abd67fc4f8fb335d8 | |||||
api-url: https://bcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf | |||||
hostname: iZ6mx01gyeodd80imxd2gbZ | |||||
login: | |||||
phone-verify-code: | |||||
skip: true |
@@ -0,0 +1,120 @@ | |||||
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://impl.v1.ws.api.service.yxt.gooben.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://v1.ws.api.service.yxt.gooben.com/" name="WsItfTask" targetNamespace="http://impl.v1.ws.api.service.yxt.gooben.com/"> | |||||
<wsdl:import location="http://60.188.225.145:9501/ws/v1?wsdl=WsItfTask.wsdl" namespace="http://v1.ws.api.service.yxt.gooben.com/"> | |||||
</wsdl:import> | |||||
<wsdl:binding name="WsItfTaskSoapBinding" type="ns1:WsItfTask"> | |||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | |||||
<wsdl:operation name="getSentResultCall"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="getSentResultCall"> | |||||
<soap:header message="ns1:getSentResultCall" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="getSentResultCallResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="getSubmitResult"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="getSubmitResult"> | |||||
<soap:header message="ns1:getSubmitResult" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="getSubmitResultResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="addFile"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="addFile"> | |||||
<soap:header message="ns1:addFile" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="addFileResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="submitMCLZTask"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="submitMCLZTask"> | |||||
<soap:header message="ns1:submitMCLZTask" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="submitMCLZTaskResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="getSentTaskResultCall"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="getSentTaskResultCall"> | |||||
<soap:header message="ns1:getSentTaskResultCall" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="getSentTaskResultCallResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="getSentTaskResultSms"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="getSentTaskResultSms"> | |||||
<soap:header message="ns1:getSentTaskResultSms" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="getSentTaskResultSmsResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="submitTask"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="submitTask"> | |||||
<soap:header message="ns1:submitTask" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="submitTaskResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="getSentResultSms"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="getSentResultSms"> | |||||
<soap:header message="ns1:getSentResultSms" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="getSentResultSmsResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="authorization"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="authorization"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="authorizationResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
<wsdl:operation name="getSmsReceive"> | |||||
<soap:operation soapAction="" style="document"/> | |||||
<wsdl:input name="getSmsReceive"> | |||||
<soap:header message="ns1:getSmsReceive" part="token" use="literal"> | |||||
</soap:header> | |||||
<soap:body parts="parameters" use="literal"/> | |||||
</wsdl:input> | |||||
<wsdl:output name="getSmsReceiveResponse"> | |||||
<soap:body use="literal"/> | |||||
</wsdl:output> | |||||
</wsdl:operation> | |||||
</wsdl:binding> | |||||
<wsdl:service name="WsItfTask"> | |||||
<wsdl:port binding="tns:WsItfTaskSoapBinding" name="WsItfTaskImplPort"> | |||||
<soap:address location="http://60.188.225.145:9501/ws/v1"/> | |||||
</wsdl:port> | |||||
</wsdl:service> | |||||
</wsdl:definitions> |