标签: apache-axis

从 Axis 迁移到 Axis2

我需要帮助将 Axis 项目迁移到 Axis2。

我正在开发一个较旧的 Axis 项目,一些 Java 类是使用较旧的 WSDL2Java 工具从 WSDL 生成的。现在的问题是,Java 认为这是一个错误,因为我有最新的 Axis2 版本 1.6。

我被告知要使用 Axis2 中的 WSDL2Java 工具从 WSDL 文件重新生成 Java 类,但是生成的类与旧的 WSDL2Java 完全不同。

我将如何解决这个问题?如果我用新的课程替换旧的课程,我觉得这个项目不会起作用。

java axis wsdl web-services apache-axis

5
推荐指数
1
解决办法
9412
查看次数

AXIS2如何设置连接重试?

看来 Axis 管理客户端 org.apache.axis2.client.ServiceClient 正在发出 org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry() 并且默认重试大约 3 次。有没有办法设置不重试?

我的代码:

        ServiceClient client = new ServiceClient();
        Options opts = new Options();
        opts.setTo(new EndpointReference(strWebServiceUrl));
        opts.setAction(strNameOfMethodToInvoke);
        opts.setTimeOutInMilliSeconds(timeOut);
        client.setOptions(opts);
        OMElement res = client.sendReceive(createRequest());
        return (res.toString());
Run Code Online (Sandbox Code Playgroud)

现在的代码是

        ServiceClient client = new ServiceClient();
        Options opts = new Options();
        opts.setTo(new EndpointReference(strWebServiceUrl));
        opts.setAction("urn:" + strNameOfMethodToInvoke);
        opts.setTimeOutInMilliSeconds(timeOut);

        HttpMethodParams methodParams = new HttpMethodParams();
        DefaultHttpMethodRetryHandler retryHandler = new DefaultHttpMethodRetryHandler(0, false);
        methodParams.setParameter(HttpMethodParams.RETRY_HANDLER, retryHandler);
        opts.setProperty(HTTPConstants.HTTP_METHOD_PARAMS, methodParams);

        client.setOptions(opts);
        OMElement res = client.sendReceive(createRequest());
        return (res.toString());
Run Code Online (Sandbox Code Playgroud)

java httpclient apache-axis

4
推荐指数
1
解决办法
7134
查看次数

从 Axis2 生成的存根获取端点 URL

我在 Axis2 1.5.6 上使用 wsdl2java 生成了一个 Web 服务存根,并且正在创建该存根并将其注入到 Spring 上下文中的代码中。

我想记录存根正在使用的端点 URL,但我似乎找不到访问它的方法。

我能找到的最接近的是: stub._getServiceClient().getServiceContext().getTargetEPR().getAddress()

但这会引发空指针异常。

java apache-axis

4
推荐指数
1
解决办法
3191
查看次数

在 intellij 中生成 WSDL 时出错:ClassNotFoundException:org.apache.woden.WSDLException

我现在连续 2 天遇到问题,我不知道如何解决它,我在 IntelliJ 下有一个 axis 2 项目,我想为客户端生成 wsdl,但是当我尝试使用 Tools->WebServices- >从 WSDL 生成 Java 代码 ..

从 wsdl 生成 Java 代码...

我有以下错误:

  Retrieving document at 'http://localhost:8080/Axis2_Server_war_exploded/services/HelloWorld?wsdl'.
 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/woden/WSDLException
    at org.apache.axis2.description.WSDLToAxisServiceBuilder.<init>(WSDLToAxisServiceBuilder.java:103)
    at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.<init> (WSDL11ToAxisServiceBuilder.java:225)
    at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.<init> (WSDL11ToAllAxisServicesBuilder.java:63)
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:167)
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:50)
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
 Caused by: java.lang.ClassNotFoundException: org.apache.woden.WSDLException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 6 more
 Done
Run Code Online (Sandbox Code Playgroud)

我在服务器端的服务如下:

服务.xml:

<serviceGroup>
<service name="HelloWorld">
    <parameter name="ServiceClass">HelloWorld.HelloWorld</parameter>
    <operation name="sayHelloWorldFrom">
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    </operation>
</service>
</serviceGroup>
Run Code Online (Sandbox Code Playgroud)

HelloWorld.java:

@WebService
 public class HelloWorld …
Run Code Online (Sandbox Code Playgroud)

java intellij-idea apache-axis

4
推荐指数
1
解决办法
4493
查看次数

AXIS 客户端与 AXIS2 服务

我必须实现一个使用 AXIS2 1.4 方法的 AXIS 1.4 客户端。AXIS 1.4 客户端是通过创建存根来制作的。客户端发送请求并从服务获取带有某些附件 (MTOM) 的响应。当我通过 AXIS 1.4 端口类型对象调用方法(操作)时,出现错误:

org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

我认为 MTOM 搞乱了 AXIS。那么问题来了:我如何获取 AXIS2 1.4 (MTOM) Web 服务返回的附件?TIA。

弗朗西斯科

PS:这是代码。有 WSDL 生成的存根。问题是:当我调用端口的存根方法时出现异常。我回复的邮件中有附件。

String codistat = "CODISTAT";    
OrdinanzeViabilitaLocator ovlocretreive = new OrdinanzeViabilitaLocator();
ovlocretreive.setOrdinanzeViabilitaHttpSoap11EndpointEndpointAddress(".. the service url + action..");
try {
  OrdinanzeViabilitaPortType ovretreive = ovlocretreive.getOrdinanzeViabilitaHttpSoap11Endpoint();
  ((Stub) ovretreive)._setProperty(javax.xml.rpc.Call.USERNAME_PROPERTY, "username");
  ((Stub) ovretreive)._setProperty(javax.xml.rpc.Call.PASSWORD_PROPERTY, "password");            
  //problems began here
  MessageReqOrdinanze mrq = new MessageReqOrdinanze();
  mrq.setCodistat(codistat); …
Run Code Online (Sandbox Code Playgroud)

axis mtom apache-axis

3
推荐指数
1
解决办法
4381
查看次数

Axis2 无法加载 DLL

我在 Apache-Axis2 日志文件中发现了以下行。

[Sat Nov 14 12:16:08 2015] [error] ..\..\util\src\class_loader.c(167) Loading shared library ..//lib/axis2_http_sender.dll  Failed. DLERROR IS DLL Load Error 126: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

分析 class_loader.c 文件从第 156 行到第 167 行,如下所示:

dll_name = axutil_dll_desc_get_name(dll_desc, env);
    AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Shared library to be loaded is %s",dll_name);
    dl_handler = AXIS2_PLATFORM_LOADLIB(dll_name);
    if (!dl_handler)
    {        
#ifndef WIN32
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading shared library %s  Failed. DLERROR IS %s", 
            dll_name, AXIS2_PLATFORM_LOADLIB_ERROR);
#else
        axis2_char_t buff[AXUTIL_WIN32_ERROR_BUFSIZE];
        axutil_win32_get_last_error(buff, AXUTIL_WIN32_ERROR_BUFSIZE);
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading shared library %s  Failed. …
Run Code Online (Sandbox Code Playgroud)

c apache-axis

3
推荐指数
1
解决办法
529
查看次数

axis2 导致 javax.xml.stream.XMLStreamException:元素文本内容可能不包含 START_ELEMENT

我通过eclipse生成了一个axis2 web服务客户端。

我在执行时总是出现这个错误。

org.apache.axis2.AxisFault: javax.xml.stream.XMLStreamException: element text content may not contain START_ELEMENT

在 wsdl 中我有

<xsd:element name="transactionError" type="transactionError"/>
<xsd:complexType name="transactionError">
<xsd:all>
<xsd:element name="request_id" type="xsd:string"/>
<xsd:element name="trans_id" nillable="true" type="string"/>
<xsd:element name="date_time" nillable="true" type="string"/>
<xsd:element name="error_code" nillable="true" type="int"/>
<xsd:element name="error_text" nillable="true" type="string"/>
</xsd:all>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)

在调试调用时我可以看到响应是

<n:transactionError xmlns:n="http://www.xxxx.com/wsdl/xxxxx.wsdl">
<transactionError>
<request_id>Rxxxxxx</request_id>
<date_time>2016-02-06 12:02:53</date_time>
<error_code>-12</error_code>
<error_text>xxxxxxxxxxxxxxxx</error_text>
</transactionError></n:transactionError>
Run Code Online (Sandbox Code Playgroud)

java.lang.String content = reader.getElementText();

它抛出异常 javax.xml.stream.XMLStreamException: element text content may not contain START_ELEMENT

具有以下属性的读卡器:

reader.currentNode = <transactionError><request_id>Rxxxxxx</request_id><date_time>2016-02-06 12:02:53</date_time><error_code>-12</error_code><error_text>xxxxxxxxx</error_text></transactionError>

reader.namespaceCount = -1

知道问题出在哪里吗?

java xml apache-axis

3
推荐指数
1
解决办法
2397
查看次数

R:如何旋转副Y轴标签?{根据}

我创建了辅助 Y 轴,并使用 在那里放置了一个标签mtext。但是,我不知道如何旋转我的辅助 Y 标签以面对绘图 - 就像我的红色 Y2 标签

我的虚拟数据,采用自: http: //robjhyndman.com/hyndsight/r-graph-with-two-y-axes/

x <- 1:5
y1 <- rnorm(5)
y2 <- rnorm(5,20)
par(mar=c(5,4,4,5)+.1)
plot(x,y1,type="l",col="red")
par(new=TRUE)
plot(x, y2,,type="l",col="blue",xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("y2",side=4,line=3)
legend("topleft",col=c("red","blue"),lty=1,legend=c("y1","y2"))
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

我已经尝试过srt = ...,但las = ...它们都不起作用。

我不需要使用mtext,请问还有其他简单的解决方案吗?

谢谢 !

plot label r axis-labels apache-axis

3
推荐指数
1
解决办法
3031
查看次数

在 RESTful API 和 WSO2 的背景下,Apache Tomcat 和 Apache Axis2 之间的关系是什么

我知道我想构建一个 RESTful api 并在客户端使用 Angular。我正在服务器技术之间进行选择。Apache Tomcat 可以提供 RESTful Web 服务,并且已经可以使用多年了。我想知道 Axis2 是否是 Tomcat 的替代品。此外,我还被鼓励合并使用 Axis2 的 WSO2 中间件。理想情况下,我想在 Axis2 上使用 REST,然后在 WSO2 中间件上使用。

在 RESTful API 和 WSO2 的上下文中,Apache Tomcat 和 Apache Axis2 之间有什么关系?Axis2 在 Tomcat 中运行吗?

java rest wso2 apache-axis

0
推荐指数
1
解决办法
3004
查看次数

出现错误:无法找到或加载主类 org.apache.axis2.transport.SimpleAxis2Server

我是 Axis 新手,我正在尝试使用 Linux 中的标准二进制分发包将 Axis2 作为独立服务器启动。我浏览了本指南:https ://axis.apache.org/axis2/java/core/docs/installationguide.html

我已下载发行版并将其解压到其自己的目录中,并且还设置了环境变量 AXIS2_HOME 和 JAVA_HOME,如下所示:

export AXIS2_HOME=/opt/axis2-1.8.2

echo $AXIS2_HOME 回报

/opt/axis2-1.8.2

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin

echo $JAVA_HOME回报

/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin

当尝试运行axis2server.sh(本质上是启动服务器的脚本)时,我收到以下提示:

user@serverFoo/opt/axis2-1.8.2/bin$ ./axis2server.sh
 Using AXIS2_HOME: /opt/axis2-1.8.2
 Using JAVA_HOME:  /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin
Error: Could not find or load main class org.apache.axis2.transport.SimpleAxis2Server

Run Code Online (Sandbox Code Playgroud)

来自 JAVA 背景,我知道它无法找到或加载服务器类,尽管我无法在网络中找到任何指向特定错误的资源。

编辑:我还添加了指向 AXIS2_HOME/lib 目录的 CLASSPATH 变量,即

export CLASSPATH=/opt/axis2-1.8.2/lib/*.jar但还是一样。

任何想法都会受到欢迎。

谢谢

java linux apache-axis

0
推荐指数
1
解决办法
668
查看次数

标签 统计

apache-axis ×10

java ×7

axis ×2

axis-labels ×1

c ×1

httpclient ×1

intellij-idea ×1

label ×1

linux ×1

mtom ×1

plot ×1

r ×1

rest ×1

web-services ×1

wsdl ×1

wso2 ×1

xml ×1