首页 > 解决方案 > 在java中创建一个saop消息

问题描述

我正在尝试在 java 中创建一个 saop 消息,但我收到了错误

javax.xml.soap.SOAPException:无法为 SOAP 创建消息工厂:无法创建 SAAJ 元工厂:未找到提供程序 com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl

我的代码是这个

        MessageFactory messageFactory = MessageFactory.newInstance();
        SOAPMessage soapMessage = messageFactory.createMessage();

        createSoapEnvelope(soapMessage);

        MimeHeaders headers = soapMessage.getMimeHeaders();
        headers.addHeader("SOAPAction", soapAction);

        soapMessage.saveChanges();

        /* Print the request message, just for debugging purposes */
        System.out.println("Request SOAP Message:");
        soapMessage.writeTo(System.out);
        System.out.println("\n");

        return soapMessage;
    }```

I am using jdk14, what could be the solution?


标签: javaxmlsoapsoap-clientsaaj

解决方案


由于错误清楚地表明com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found需要为该类添加依赖项。

在您的 pom.xml 中添加以下依赖项。

<dependency>
    <groupId>com.sun.xml.messaging.saaj</groupId>
    <artifactId>saaj-impl</artifactId>
    <version>1.5.1</version>
</dependency> 

推荐阅读