NC中webservice接口的开发技巧

NC中webservice接口的开发技巧

文章目录

  • NC中webservice接口的开发技巧
    • 1. 接口发布的问题
    • 2.接口发布报错(An internal error occurred during: "执行")

1. 接口发布的问题

想要发布webservice接口,首先在eclipse中需要有发布webservice接口的工具WSTools,这个可以直接在浏览器搜索nc.uap.mde.wstools.jar进行下载,由于这些资源都属于csdn上的积分资源,所以就不给某个资源做广告了,请自行百度下载.也可以点击我的下载列表进行下载:

  1. 下载地址一
  2. 下载地址二
  3. 下载地址三

下载完成后将jar包复制到eclipse下的plugins目录下边,如果里边已经包含了一个低版本的包,例如nc.uap.mde.wstools_1.0.0.jar,我的建议是删除低版本,防止对新版本有影响,重启eclipse.

重启后,右键接口类,发现有wstool选项则安装成功,示例如下:
NC中webservice接口的开发技巧_第1张图片

如果还是不行,有可能部分eclipse已经被公司做过修改,所以可以将jar包放到eclipse下的devplugins\plugins\eclipse\plugins目录中,如果目录中已经有一个低版本的wstools包,建议删除低版本的,然后重启eclipse.

这里需要注意,eclipse的运行会有插件的缓存,可以在eclipse.ini中添加-clean命令,意思是在运行之前清除插件缓存,但是切记,eclipse启动之后,如果插件已经生效,一定要删除这条命令,否则这条命令会导致eclipse启动非常慢.

-clean      #在首行添加clean命令,切记稍后需要删除
-vm
jre/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms40m
-Xmx1024m

这里假设你已经按照我的步骤将插件安装成功,已经出现了WS Tools功能了,那么,我们现在看一下接口发布的步骤:

  1. 首先对应接口上右键找到WS Tools下的Genrate WSDL,生成WSDL文件.
    NC中webservice接口的开发技巧_第2张图片

出现这样的提示,表示第一步已经成功了.
NC中webservice接口的开发技巧_第3张图片

  1. 然后可以看到在eclipse目录下多了一个分目录ws.
    NC中webservice接口的开发技巧_第4张图片

  2. 然后再次找到WS Tools下的Public Web Service.
    在这里插入图片描述

  3. 在弹出的窗口中填写需要生成的upm文件名称,或者选择已经生成的upm文件.点击下一步.
    NC中webservice接口的开发技巧_第5张图片

  4. 点击右下角的查找按钮,找到对应的实现类,其他不变,点击下一步.
    NC中webservice接口的开发技巧_第6张图片

  5. 一直下一步,知道这里,取消红色方框中圈起内容前方的选中标志,然后点击Finish,等待完成.
    NC中webservice接口的开发技巧_第7张图片

出现如下信息说明成功了.
NC中webservice接口的开发技巧_第8张图片

2.接口发布报错(An internal error occurred during: “执行”)

NC中webservice接口的开发技巧_第9张图片

查找原因:通过在eclipse中的log日志中的记录,发现部署上的jar包插件中运行报错,通过显示的异常信息显示

!ENTRY org.eclipse.core.jobs 4 2 2019-03-19 14:27:02.030
!MESSAGE An internal error occurred during: "执行".
!STACK 0
org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4282)
	at org.eclipse.swt.SWT.error(SWT.java:4197)
	at org.eclipse.swt.SWT.error(SWT.java:4168)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Shell.(Shell.java:283)
	at org.eclipse.swt.widgets.Shell.(Shell.java:274)
	at org.eclipse.swt.widgets.Shell.(Shell.java:224)
	at org.eclipse.swt.widgets.Shell.(Shell.java:159)
	at nc.uap.mde.wstools.wizards.WSPublishWizard.getMouduleContainer(WSPublishWizard.java:394)
	at nc.uap.mde.wstools.wizards.WSPublishWizard.execusePublishTask(WSPublishWizard.java:296)
	at nc.uap.mde.wstools.wizards.WSPublishWizard.access$2(WSPublishWizard.java:294)
	at nc.uap.mde.wstools.wizards.WSPublishWizard$PublishJob.run(WSPublishWizard.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

可以很简单的找到,发生异常的类是nc.uap.mde.wstools.wizards.WSPublishWizard,通过反编译的软件查看源代码,发现这个类中的编译文件出现乱码,所以eclipse无法识别,导致eclipse插件无法使用.

解决办法:

通过原因分析,说明下载的这个插件出现了问题,有可能是在向csdn上传资源的时候出现文件损坏,也有可能是eclipse版本更新后,这个插件已经不适用,所以我又重新下载了一个wstools插件,重新部署,就可以成功发布接口了.

最后补一句,能力不足,水平有限,如有说的不对的地方,欢迎指正~

你可能感兴趣的:(学习)