For JAX-WS I think you may have just used this entry into axis2.xml? <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer"> <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/> <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/> </deployer>
On Wed, Mar 10, 2021 at 7:07 AM robertlazarski <[email protected]> wrote: > I see. I am looking at the docs now and am making some updates. > > Are you running JAX-WS services? How did you fix it? Did you use a > ServletContextInitializer like the code I pasted? > > I ask because I don't use JAX-WS myself, so I haven't run into the > problem. > > Regards, > Robert > > On Tue, Mar 9, 2021 at 11:44 AM Kevin Lee <[email protected]> > wrote: > >> Hey Robert, >> >> When I start work on upgrading a dependency between major versions that >> are expected to have breaking changes, I look towards the release >> documentation for the first major version release, which for 1.7 would be >> here <https://axis.apache.org/axis2/java/core/release-notes/1.7.0.html>. >> There is a section at the bottom that has several bullet points dedicated >> towards notable breaking changes, which I think is great. I propose that >> adding the contents of AXIS2-5340 >> <https://issues.apache.org/jira/browse/AXIS2-5340> as a bullet point >> would be important as that seems to definitely be a notable breaking change. >> >> Best, >> Kevin >> >> On Tue, Mar 9, 2021 at 3:29 PM robertlazarski <[email protected]> >> wrote: >> >>> I'm not really sure how the axis2.xml docs could be in regards to this >>> issue - do you think you could contribute it? Just paste what you have in >>> mind here if that is easier. >>> >>> On Tue, Mar 9, 2021 at 11:15 AM Kevin Lee < >>> [email protected]> wrote: >>> >>>> Hey Robert, >>>> >>>> I managed to upgrade successfully after finding that axis2.xml change, >>>> as the error messages for what to fix were fairly straightforward >>>> afterwards (before, the web service deployment appeared to be failing >>>> silently with a generic EPR reference cannot be found error). I think that >>>> axis2.xml deployer inclusion just needs to be more prominent in the >>>> documentation. >>>> >>>> Best, >>>> Kevin >>>> >>>> On Tue, Mar 9, 2021 at 2:59 PM robertlazarski <[email protected]> >>>> wrote: >>>> >>>>> I was wondering if there are any spring boot users. I plan on writing >>>>> some docs as it is harder than it should be. >>>>> >>>>> I was able to successfully implement it though. Where are you stuck >>>>> exactly? >>>>> >>>>> Here's the main init code: >>>>> >>>>> package com.alphatheory.configuration; >>>>> >>>>> import com.mycompany.ATInit; >>>>> import org.apache.logging.log4j.LogManager; >>>>> import org.apache.logging.log4j.Logger; >>>>> import org.apache.axis2.transport.http.AxisServlet; >>>>> import org.springframework.boot.web.servlet.ServletContextInitializer; >>>>> import org.springframework.context.annotation.Configuration; >>>>> import >>>>> org.springframework.web.context.support.AnnotationConfigWebApplicationContext; >>>>> >>>>> import org.springframework.core.annotation.Order; >>>>> >>>>> import org.springframework.beans.factory.annotation.Autowired; >>>>> import org.springframework.beans.factory.annotation.Value; >>>>> import org.springframework.context.annotation.Bean; >>>>> import org.springframework.context.annotation.PropertySource; >>>>> import >>>>> org.springframework.context.support.PropertySourcesPlaceholderConfigurer; >>>>> >>>>> import javax.servlet.ServletContext; >>>>> import javax.servlet.ServletRegistration; >>>>> >>>>> import java.util.Set; >>>>> >>>>> @Configuration >>>>> @Order(4) >>>>> @PropertySource("classpath:application.properties") >>>>> public class ATWebAppInitializer implements ServletContextInitializer >>>>> { >>>>> >>>>> private static final Logger logger = >>>>> LogManager.getLogger(ATWebAppInitializer.class); >>>>> private static final String SERVICES_MAPPING = "/services/*"; >>>>> >>>>> @Value("${appInstance}") >>>>> private String appInstance; >>>>> >>>>> @Value("${appInstanceIP}") >>>>> private String appInstanceIP; >>>>> >>>>> @Value("${prodKillSwitchEnabled}") >>>>> private String prodKillSwitchEnabled; >>>>> >>>>> @Override >>>>> public void onStartup(ServletContext container) { >>>>> String logPrefix = "ATWebAppInitializer , appInstance: " + >>>>> appInstance + " , "; >>>>> logger.warn(logPrefix + "inside onStartup() ..."); >>>>> // Create the 'root' Spring application context >>>>> AnnotationConfigWebApplicationContext ctx = new >>>>> AnnotationConfigWebApplicationContext(); >>>>> >>>>> addAxis2Servlet(container, ctx); >>>>> addATInitServlet(container, ctx); >>>>> logger.warn(logPrefix + "onStartup() completed ..."); >>>>> } >>>>> >>>>> private void addAxis2Servlet(ServletContext container, >>>>> AnnotationConfigWebApplicationContext ctx) { >>>>> >>>>> ServletRegistration.Dynamic dispatcher = container.addServlet( >>>>> "AxisServlet", new AxisServlet()); >>>>> dispatcher.setLoadOnStartup(1); >>>>> Set<String> mappingConflicts = >>>>> dispatcher.addMapping(SERVICES_MAPPING); >>>>> if (!mappingConflicts.isEmpty()) { >>>>> for (String s : mappingConflicts) { >>>>> logger.error("Mapping conflict: " + s); >>>>> } >>>>> // throw new IllegalStateException("'AxisServlet' could >>>>> not be mapped to '" + SERVICES_MAPPING + "'"); >>>>> } >>>>> } >>>>> >>>>> private void addATInitServlet(ServletContext container, >>>>> AnnotationConfigWebApplicationContext ctx) { >>>>> >>>>> ServletRegistration.Dynamic dispatcher = container.addServlet( >>>>> "ATInit", new ATInit()); >>>>> dispatcher.setLoadOnStartup(1); >>>>> dispatcher.setInitParameter("appInstance", appInstance); >>>>> >>>>> // do not add mapping >>>>> } >>>>> >>>>> } >>>>> >>>>> On Tue, Mar 9, 2021 at 10:13 AM Kevin Lee < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Axis2 team, >>>>>> >>>>>> I recently had to upgrade from Axis 1.6.3 to Axis 1.7.8 on the Java >>>>>> Spring Boot codebase I work on, and struggled greatly with making the >>>>>> upgrade work until I resolved the breaking change from AXIS2-5340 >>>>>> <https://issues.apache.org/jira/browse/AXIS2-5340> that involved >>>>>> changing our axis2.xml config to properly deploy our web services. >>>>>> >>>>>> This breaking change is not listed clearly in the 1.7.0 major >>>>>> release notes >>>>>> <https://axis.apache.org/axis2/java/core/release-notes/1.7.0.html> - >>>>>> it is not included alongside the other breaking changes listed up front >>>>>> such as the MEP URI form change, and is tucked away in the complete >>>>>> list of JIRA issues that were addressed in the release >>>>>> <https://axis.apache.org/axis2/java/core/release-notes/1.7.0.html>. >>>>>> The only reason why I found out about this change was by downloading the >>>>>> binaries for 1.6.3 and 1.7.8 and stumbling upon the differences in >>>>>> default >>>>>> axis2.xml configs. >>>>>> >>>>>> As mentioned in the issue, this seems like a rather important >>>>>> breaking change that will apply to the majority of Axis2 setups and seems >>>>>> necessary for backward compatibility. I believe it will benefit future >>>>>> developers that have to do similar upgrades to make note of this breaking >>>>>> change and include it in the 1.7.0 major release notes where it can be >>>>>> visibly seen. >>>>>> >>>>>> Best, >>>>>> Kevin Lee >>>>>> >>>>>> >>>> >>>> -- >>>> *Kevin Lee (이지환)* >>>> Northwestern University 2020 >>>> B.S. in Computer Science >>>> www.kevinjihwanlee.com | (773) 647-6146 >>>> >>> >> >> -- >> *Kevin Lee (이지환)* >> Northwestern University 2020 >> B.S. in Computer Science >> www.kevinjihwanlee.com | (773) 647-6146 >> >
