# Building from Maven Archetype - module.xml parse error

**URL:** <https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185>\
**Category:** Module Development\
**Created:** [August 28, 2020, 9:19pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185 "2020-08-28T21:19:16Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [August 28, 2020, 9:19pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/1 "2020-08-28T21:19:16Z")

</div>

I’m building some webservices for Ignition 8.0, and I am using maven and building from the archetypes. Everything builds correctly, and an unsigned modl file is created. When I attempt to install the module, I get an error that there was a problem parsing the module.xml file. I’ve looked at that file, and it looks fine to me.  
Any ideas about what I might try to isolate/find/fix this error?

Thanks.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 28, 2020, 9:43pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/2 "2020-08-28T21:43:46Z")

</div>

Can you share the error?

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [August 28, 2020, 10:42pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/3 "2020-08-28T22:42:49Z")

</div>

Sure - I’ll also add the modules.xml file.

java.lang.Exception: Exception parsing “module.xml”

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.parseModuleInfo(ModuleManagerImpl.java:1644)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.extractModuleInfo(ModuleManagerImpl.java:1637)

at com.inductiveautomation.ignition.gateway.web.pages.config.ModuleInstallPage.eulaCertCheck(ModuleInstallPage.java:120)

at com.inductiveautomation.ignition.gateway.web.pages.config.ModuleInstallPage$1.onSubmitInternal(ModuleInstallPage.java:71)

at com.inductiveautomation.ignition.gateway.web.components.CsrfPreventingForm.onSubmit(CsrfPreventingForm.java:67)

at org.apache.wicket.markup.html.form.Form$9.component(Form.java:1248)

at org.apache.wicket.markup.html.form.Form$9.component(Form.java:1242)

at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:274)

at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:245)

at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1241)

at org.apache.wicket.markup.html.form.Form.process(Form.java:923)

at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:769)

at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:702)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)

at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:216)

at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:240)

at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)

at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:814)

at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)

at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253)

at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)

at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)

at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)

at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)

at com.inductiveautomation.ignition.gateway.bootstrap.GatewayFilter.doFilter(GatewayFilter.java:74)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)

at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.Server.handle(Server.java:530)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)

at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)

at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)

at java.base/java.lang.Thread.run(Unknown Source)

Caused by: java.lang.IllegalArgumentException: Invalid version: “1.0”

at com.inductiveautomation.ignition.common.model.Version.(Version.java:87)

at com.inductiveautomation.ignition.common.model.Version.parse(Version.java:246)

at com.inductiveautomation.ignition.common.modules.ModuleInfoParser.endElement(ModuleInfoParser.java:138)

at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

at com.inductiveautomation.ignition.common.modules.ModuleInfoParser.fromXML(ModuleInfoParser.java:241)

And the modules.xml file:

com.lamtec.IgnitionWebService

IgnitionWebService Ignition Module

IgnitionWebService Ignition Module

1.0

8.0.1

IgnitionWebService-common-1.0.jar

IgnitionWebService-gateway-1.0.jar

javaee-api-7.0.jar

IgnitionWebService-client-1.0.jar

IgnitionWebService-common-1.0.jar

IgnitionWebService-designer-1.0.jar

com.lamtec.ignitionwebservice.client.ClientHook

com.lamtec.ignitionwebservice.designer.DesignerHook

com.lamtec.ignitionwebservice.GatewayHook

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [August 28, 2020, 10:44pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/4 "2020-08-28T22:44:51Z")

</div>

And while pasting in the error, I see something I didn’t see before: It’s complaining about the Version 1.0 tag for the module version.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 28, 2020, 10:57pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/5 "2020-08-28T22:57:47Z")

</div>

Change your version to be 3 digits: 1.0.0 or 1.0.0-SNAPSHOT

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [August 28, 2020, 11:07pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/6 "2020-08-28T23:07:14Z")

</div>

I just tried that and that worked, however, now I’ve got a problem with getting into developer mode. I think my ignition.conf file is from 7.9.x and doesn’t work with 8.0.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 28, 2020, 11:09pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/7 "2020-08-28T23:09:34Z")

</div>

The only developer mode we have any more is adding `-Dignition.allowunsignedmodules=true` to your ignition.conf so unsigned modules will run.

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [August 29, 2020, 12:21am UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/8 "2020-08-29T00:21:57Z")

</div>

Right - thanks so much for all your help!

Now if I could just remember how to get the wsdl file from the webservice. I’ve done this before, and it worked very well, I just can’t remember where to get that file from.

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [September 10, 2020, 9:04pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/9 "2020-09-10T21:04:28Z")

</div>

Still looking for the URL of the wsdl defining the webservice. Anyone know where to find it?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [September 10, 2020, 9:08pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/10 "2020-09-10T21:08:21Z")

</div>

What web service are you talking about?

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [September 10, 2020, 9:28pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/11 "2020-09-10T21:28:41Z")

</div>

The webservice I built using the maven archetype for the ignitionsdk. I built this once before and had created an application to query the webservice for tag names and was able to subscribe to the tags and get values in real time in other java applications by calling the web service. I just can’t remember how to find the wsdl for the webservice to build a webservice client.

---

<div class="post-metadata">

**Author:** ![Kevin.McClusky](https://avatars.discourse-cdn.com/v4/letter/k/47e85d/32.png) [@Kevin.McClusky](https://forum.inductiveautomation.com/u/Kevin.McClusky)\
**Post date:** [September 11, 2020, 2:47am UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/12 "2020-09-11T02:47:33Z")

</div>

If you built a SOAP webservice in a module, then you would need to be the one to generate the wsdl. It’s possible the Java library you’re using to build the SOAP webservice does this automatically, so that would be the documentation to check. The Ignition platform itself doesn’t have SOAP or .wsdl generation, so that’s entirely outside of anything that the SDK provides.

As a sidenote, the Sepasoft Web Services module can host SOAP endpoints and generates a .wsdl for you, but that’s the only module that we sell on our website for Ignition that has anything to do with .wsdl’s.

---

<div class="post-metadata">

**Author:** ![penrosekevin](https://avatars.discourse-cdn.com/v4/letter/p/f6c823/32.png) [@penrosekevin](https://forum.inductiveautomation.com/u/penrosekevin)\
**Post date:** [September 11, 2020, 8:44pm UTC](https://forum.inductiveautomation.com/t/building-from-maven-archetype-module-xml-parse-error/38185/13 "2020-09-11T20:44:47Z")

</div>

Thanks for your reply. When I deploy the module, which starts up with no problem, one of the messages I get when I turn up the logging level is this:  
Mounting routes for module “com.lamtec.IgnitionWebService” under /main/data/com.lamtec.IgnitionWebService/\*

What does this tell me? Should I be able to communicate with the webservice through this url?
