spring-projects/spring-ws

GraalVM Native Image support

naihil opened this issue · 3 comments

This is not a bug report, only my experiments to build spring-ws in native image.
I have a simple project that uses WebServiceTemplate to send/receive SOAP messages.
It compiles fine but there were several runtime exceptions.
To resolve them I need following files in META-INF/native-image:

  1. reflect-config.json:
[
  {
    "name" : "com.sun.org.apache.xpath.internal.functions.FuncNormalizeSpace",
    "allDeclaredConstructors": true
  },
  {
    "name" : "org.springframework.ws.soap.saaj.SaajSoapMessageFactory",
    "allDeclaredConstructors": true
  },
  {
    "name" : "org.springframework.ws.transport.http.HttpUrlConnectionMessageSender",
    "allDeclaredConstructors": true
  },
  {
    "name" : "org.springframework.ws.soap.client.core.SoapFaultMessageResolver",
    "allDeclaredConstructors": true
  },
  {
    "name" : "org.springframework.ws.soap.server.endpoint.adapter.method.SoapMethodArgumentResolver",
    "allDeclaredConstructors": true
  },
  {
    "name" : "org.springframework.ws.soap.server.endpoint.adapter.method.SoapHeaderElementMethodArgumentResolver",
    "allDeclaredConstructors": true
  }
]

  1. resource-config.json:
{
  "resources": {
    "includes": [
      {
        "pattern": "\\Qorg\/springframework\/ws\/transport\/http\/MessageDispatcherServlet.properties\\E"
      },
      {
        "pattern": "\\Qorg\/springframework\/ws\/client\/core\/WebServiceTemplate.properties\\E"
      },
      {
        "pattern": "\\Qorg\/springframework\/ws\/server\/MessageDispatcher.properties\\E"
      },
      {
        "pattern": "\\Qorg\/springframework\/ws\/soap\/server\/SoapMessageDispatcher.properties\\E"
      }
    ]
  }
}

Maybe this helps someone to submit official support to spring-ws.

ksilz commented

@naihil Thank you! Worked like a charm for me!

How do find out this stuff?