Code Monkey home page Code Monkey logo

phoss-smp's Introduction

Logo

Maven Central

phoss SMP is a complete SMP server that supports both the Peppol SMP 1.x specification as well as the OASIS BDXR SMP 1.0 and 2.0 specifications. It comes with a management GUI and an XML, SQL or MongoDB backend for simplified operations.

It was the first SMP to be CEF eDelivery conformant.

Latest version: 7.1.3 (2024-05-24). See the special Migrations guide for actions necessary on updates/version changes.

Docker containers can be found, depending on the backend you want to use:

Please read the Wiki for a detailed description, configuration reference and setup hints. It contains an introduction with screenshots, configuration, building and running instructions as well as News and noteworthy.

For a quick start guide to setup an SMP for Peppol: see also the step by step tutorial in https://github.com/phax/phoss-smp/tree/master/docs

For querying an SMP server you may want to have a look at the OSS peppol-smp-client library.

If you like (and use) this SMP it is highly appreciated if you could star this project on GitHub - thanks


My personal Coding Styleguide | It is appreciated if you star the GitHub project if you like it.

phoss-smp's People

Contributors

dependabot[bot] avatar gilescp avatar phax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phoss-smp's Issues

Two consecutive PUT calls on the same service group lead to an internal error

Verison 4.0.2-SNAPSHOT with XML backend.
Workaround is to do PUT DELETE PUT

java.lang.IllegalStateException: Internal inconsistency!
1.: com.helger.peppol.smpserver.data.xml.mgr.XMLServiceInformationManager.mergeSMPServiceInformation(XMLServiceInformationManager.java:162)
2.: com.helger.peppol.smpserver.restapi.SMPServerAPI.saveServiceRegistration(SMPServerAPI.java:502)
3.: com.helger.peppol.smpserver.rest.ServiceMetadataInterface.saveServiceRegistration(ServiceMetadataInterface.java:153)

Switch between BDXR and PEPPOL REST API

Make it customizable whether the BDXR or the PEPPOL response should be returned by the REST API.

  • Support a BDXR based identifier factory
  • Change the REST interface to handle both data types (e.g. SignedServiceMetadataType)
  • Make a configuration/customization setting for this

Make SML warning configurable

It is possible that an SMP is used without an SML and therefore the appearance of the warning SML connection NOT active! and other SML related menu items should be optional.

Make SML support a boolean flag in the settings

Make hostname and IP address part of the config file

Copy of phax/peppol-commons#15 from @dhixon

As part of the registration GUI, the user must specify the host name and IP address of the system as part of the SMP registration. Please put this in the config file, so that we can create custom Docker images that contain this information already because we include a COPY ../smp-server.properties ...
of a custom config file that contains these values. This removes a step where the AppOps person has to log on as an administrator and then manually enter these values.

Phoss Client: API CRUD on Business Card

Good morning to every one,

We need, in order to implement services related to the new entity Business Card (BC(, having APIs to insert/update/delete that one and.
Most important aspect, to map every single field of BC with related metadata(s), e.g. in Italy we have a national code known as IPA, so it means that this code should be mapped with the related on BC, the question is : there is already the related API/modeler as UI for doing this?

Thank youn in advance for your help.

Stefano Sinatti (Intercenter - Italy)

Failed to create parent directory

I get the following error i my tomcat7 localhost.log when I try to deploy the webapp:

Feb 08, 2016 11:41:12 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.helger.peppol.smpserver.servlet.SMPWebAppListener
com.helger.commons.exception.InitializationException: Failed to init PhotonSecurityManager
at com.helger.photon.security.mgr.PhotonSecurityManager.onAfterInstantiation(PhotonSecurityManager.java:116)
at com.helger.commons.scope.singleton.AbstractSingleton.getSingleton(AbstractSingleton.java:621)
at com.helger.commons.scope.singleton.AbstractGlobalSingleton.getGlobalSingleton(AbstractGlobalSingleton.java:66)
at com.helger.photon.security.mgr.PhotonSecurityManager.getInstance(PhotonSecurityManager.java:146)
at com.helger.photon.security.mgr.PhotonSecurityManager.getUserMgr(PhotonSecurityManager.java:176)
at com.helger.peppol.smpserver.app.AppSecurity.init(AppSecurity.java:34)
at com.helger.peppol.smpserver.servlet.SMPWebAppListener.initGlobals(SMPWebAppListener.java:109)
at com.helger.photon.core.servlet.AbstractWebAppListenerMultiApp.afterContextInitialized(AbstractWebAppListenerMultiApp.java:101)
at com.helger.photon.core.servlet.WebAppListener.contextInitialized(WebAppListener.java:505)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.helger.photon.basic.app.dao.impl.DAOException: The DAO of class com.helger.photon.basic.audit.AuditManager failed to create parent directory '/var/lib/tomcat7/conf/audits/2016/02': [FileIOError@0x4caf8c12: operation=CREATE_DIR_RECURSIVE; ecode=OPERATION_FAILED; file1=/var/lib/tomcat7/conf/audits/2016/02]
at com.helger.photon.basic.app.dao.impl.AbstractSimpleDAO.getSafeFile(AbstractSimpleDAO.java:222)
at com.helger.photon.basic.app.dao.impl.AbstractSimpleDAO.initialRead(AbstractSimpleDAO.java:292)
at com.helger.photon.basic.audit.AuditManager.(AuditManager.java:222)
at com.helger.photon.security.mgr.PhotonSecurityManager.onAfterInstantiation(PhotonSecurityManager.java:82)
... 21 more

I bet I did something stupid, but I can't figure out what... Does anyone have a clue?

Allow generic participant scheme and id

Hi,

I have a request to make the SMP implementation more generic.

A participant identifier scheme must have a structure following the PEPPOL. The Australian eInvoicing project would like to use your SMP implementation but the participant has a different format, based on ebCore Party Id. The scheme therefore has colons in it and the value is a string without colons.

Possibly make it configurable?

E.g
<smp:ParticipantIdentifier scheme=โ€urn:oasis:names:tc:ebcore:partyid-type:iso6523:0151โ€> 23601120601 </smp:ParticipantIdentifier>

I think I traced it to the following code.

peppol-commons:

com.helger.peppol.identifier.CIdentifier;

MAX_IDENTIFIER_SCHEME_LENGTH = 25;
PARTICIPANT_IDENTIFIER_SCHEME_REGEX = "[a-z0-9]+-[a-z0-9]+-[a-z0-9]+";

com.helger.peppol.identifier.IdentifierHelper;

PATTERN_PARTICIPANT_ID = "^([^:]*):(.*)$";

Regards,
Martijn.

Automatically register an SMP if it is not already registered on startup

Copy of phax/peppol-commons#16 from @dhixon

It would be nice if when we spin up a Docker image with a custom smp-server.properties file that contains all the information necessary to register the SMP, that it check to see if it is registered and if not, then automatically register itself. With this feature (and the issue requesting that the hostname / IP address be added to the config file) we can create a one-click install for the DevOps/AppOps personnel that will download, install, configure and register the SMP so that it is live an ready to be used.

Bulk change endpoint per ServiceGroup

Hi Philip,

I've deployed snapshot 51. While the bulk change works very nice, it is a bit to ... bulky. What would be nice is to have a filter, so that you can make a bulk change per participant ID and not all of the endpoint references. Is this easy to implement?

webapp tests are failing

While compiling the project using maven, I get this test failure:
Failed tests: ServiceGroupInterfaceTest.testCreateAndDeleteServiceGroup:174->_testResponse:108 500 is not in [200, 404] ServiceMetadataInterfaceTest.testCreateAndDeleteRedirect:324->_testResponse:123 [200, 404] does not contain 500 ServiceMetadataInterfaceTest.testCreateAndDeleteServiceInformation:233->_testResponse:123 [200, 404] does not contain 500

I can post the stack if you want, but you should get the same result if you try to compile a clean version of the repo

Jaxb exception on RegistrationHookImpl.createServiceGroup

Hello!

I use some of your libraries for a smp server. I have a problem when I try to register a service group, because there is a element name in xml namespace that has more than one mapping. It is "{http://busdox.org/transport/identifiers/1.0/}ParticipantIdentifier" and is defined in:

com.helger.peppol.identifier.ObjectFactory.createParticipantIdentifier (peppolCommons 4.3.4)
com.helger.peppol.smlclient.participant.ObjectFactory.createParticipantIdentifier (peppol-sml-client 4.3.4)

As far I can see, your peppol-smp-server-library is using both dependencies and use RegistrationHookImpl to register serviceGroups in SML. So how did you avoid the problem with multiple mappings in xml??

NullPointerException on empty participant scheme in check DNS state

[2016-11-28T08:02:47,994] [SMP-SERVER] [ERROR] [qtp91912419-29] handleInternalError internal-error-122 -- com.helger.photon.core.app.error.InternalErrorHandler.handleInternalError(InternalErrorHandler.java:727)
java.lang.NullPointerException: The value of 'ParticipantIdentifier scheme' may not be null!
	at com.helger.commons.ValueEnforcer.notNull(ValueEnforcer.java:223) ~[ph-commons-8.5.5.jar:8.5.5]
	at com.helger.commons.ValueEnforcer.notEmpty(ValueEnforcer.java:292) ~[ph-commons-8.5.5.jar:8.5.5]
	at com.helger.commons.ValueEnforcer.notEmpty(ValueEnforcer.java:274) ~[ph-commons-8.5.5.jar:8.5.5]
	at com.helger.peppol.url.PeppolURLProvider.getDNSNameOfParticipant(PeppolURLProvider.java:112) ~[peppol-commons-5.2.1.jar:5.2.1]
	at com.helger.peppol.smpserver.ui.secure.PageSecureServiceGroup$2.handleAction(PageSecureServiceGroup.java:184) ~[classes/:?]
	at com.helger.peppol.smpserver.ui.secure.PageSecureServiceGroup$2.handleAction(PageSecureServiceGroup.java:1) ~[classes/:?]

Improvements and futureabout peppol doubts

Hello Philip,

I've been working in Peppol since #18 and currently we (Edicom) are Peppol AP and SMP for several interlocutors in Italy. I made some radical changes to the data model of your project that I want to share:

  • We have a problem with a unique restriction on mysql with documentType identifier (varchar 500) because it's too long. We have added a hash column for the identifier, and we put a unique clause on hash and scheme.
  • We have change relations between document, process, endpoint and servicemetadata. With previous datamodel you have lots of endpoint entries that just have the same info but different processes. Now we have a model with 1 to N relations between documentType, process, endpoint to serviceMetadata (I've added a datamodel diagram to clarify this).
  • This change complicates the creation of SMP xml, so we have to change smpserver logic.

peppoldm
model.zip

I have some questions about peppol directory and peppol and AS4 if you could kindly answer. Your oppinion could be very helpful.

Peppol directory will be work using your (actual) non-standard CompleteServiceGroupInterface?

AS4. SMP will have major changes? just add a new transportProfile and maybe some minor fields add for extra parameters?

I've seen that you are contributing to holodeck as4 implementation. Is it a nice project for AS4 transport in Peppol?

Thank you very much!

Private IP address sometimes showing up in SMP lookup instead of PEPPOL name

I've been noticing this issue since I first installed peppol-smp-server on Tomcat last april. Sometimes the server just replies to SMP queries with a URI containing its private IP instead of its PEPPOL name, as you can see from this copied text from the participant lookup tool:

ServiceGroup contents

https://10.0.4.102/iso6523-actorid-upis::9906:07649050965/services/busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:www.cenbii.eu:transaction:biitrns016:ver1.0:extended:urn:www.peppol.eu:bis:peppol30a:ver1.0:extended:urn:www.ubl-italia.org:spec:ddt:ver2.1::2.1
busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:www.cenbii.eu:transaction:biitrns016:ver1.0:extended:urn:www.peppol.eu:bis:peppol30a:ver1.0:extended:urn:www.ubl-italia.org:spec:ddt:ver2.1::2.1
Open in browser
https://10.0.4.102/iso6523-actorid-upis::9906:07649050965/services/busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:www.cenbii.eu:transaction:biitrns001:ver2.0:extended:urn:www.peppol.eu:bis:peppol3a:ver2.0:extended:urn:www.ubl-italia.org:spec:ordine:ver2.1::2.1
busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:www.cenbii.eu:transaction:biitrns001:ver2.0:extended:urn:www.peppol.eu:bis:peppol3a:ver2.0:extended:urn:www.ubl-italia.org:spec:ordine:ver2.1::2.1
Open in browser

Which makes the server unavailable for the outside public who performs SMP lookups.
Every time I notice that, I reload the application and right after that the query result looks correct:

ServiceGroup contents

http://B-33caed61f912b1ee53399e01e0492fdf.iso6523-actorid-upis.edelivery.tech.ec.europa.eu/iso6523-actorid-upis::9906:07649050965/services/busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:www.cenbii.eu:transaction:biitrns016:ver1.0:extended:urn:www.peppol.eu:bis:peppol30a:ver1.0:extended:urn:www.ubl-italia.org:spec:ddt:ver2.1::2.1
busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:www.cenbii.eu:transaction:biitrns016:ver1.0:extended:urn:www.peppol.eu:bis:peppol30a:ver1.0:extended:urn:www.ubl-italia.org:spec:ddt:ver2.1::2.1
Open in browser
http://B-33caed61f912b1ee53399e01e0492fdf.iso6523-actorid-upis.edelivery.tech.ec.europa.eu/iso6523-actorid-upis::9906:07649050965/services/busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:www.cenbii.eu:transaction:biitrns001:ver2.0:extended:urn:www.peppol.eu:bis:peppol3a:ver2.0:extended:urn:www.ubl-italia.org:spec:ordine:ver2.1::2.1
busdox-docid-qns::urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:www.cenbii.eu:transaction:biitrns001:ver2.0:extended:urn:www.peppol.eu:bis:peppol3a:ver2.0:extended:urn:www.ubl-italia.org:spec:ordine:ver2.1::2.1
Open in browser

What can be the cause of the issue?

Many Thanks for your great work,

Alessandro

CURL commands for monitoring

Copy of phax/peppol-commons#17 from @dhixon

Please provide suggestion template CURL commands that can be used by a monitoring program to determine if the Phoss-SMP server is operating normally. I am thinking something on the UI port (usually 8080) to verify that the UI is working, and something that verifies port 80 is working (retrieve service metal data for some participant?).

Wrong keystore path in error message

After deploying my webapp, I get this message:

Failed to load keystore from path 'keystore/keystore.jks'. Seems like the keystore file does not exist. Technical details: Failed to open key store 'keystore/keystore.jks'

I changed the keystore path in my webapp.properties file, that is a different one. I don't know if the problem is that the message is incorrectly displayed, or if its not attempting to load the correct keystore.

AP Endpoint Separation in UI

It would be good for each user to have an endpoint created as an entity
that he can later select for adding in an smp record, and by endpoint I
mean the AP related info:

Endpoint URL, Certificate and Protocol.

This way adding a new document id will be easier, by just selecting the
endpoint info from a dropdown, and when/if the endpoint data changes
(for example certificate, url etc), than you will only need to change
this data at the endpoint entity and not find/replace all the records
that contain this AP

No feedback when adding service group fails

I'm trying to add a Service group using the GUI, but the page just reloads after about half a second when I click on "Save". There is no feedback about what happened, and it does not appear in the list of service groups afterwards.

My SML connection is active (SMK)

SMP to PD Indexer not notified after CRUD operation on business card

Good Morning Philip,

After having deployed the last stable version of PHOSS (SMP to SML works correctly), I am trying to integrate, after service group registration called by my platform (NoTI-ER), the service call related to the business card (REST API /businesscard/).
The SMP back-end works correctly and my BC was been created but the problem, afterwards, the SMP (as I would have expected) does not trigger this event to the PD Indexer (like the SML triggering process after CRUD operation on service group).
Question#1: is that process correct?
Question#2: the model represented on documentation declares that the SMP trigger to the Indexer new business card (serviceid -> crud operation) but seems that, this operation is possible only bia Web-UI and is not integrated on the back-end, is that true?
Questione#3: how can i proceed? I think that the best solution is : my client call your API (PUT /businesscard/) and after the CRUD operation on business card the Indexer will be notified, what do you think about it?

Thank you very much for your support.

Stefano

Use customizable SML URLs

E.g. for #20 etc. the SML URLs listed inside the tool should be customizable. Currently only the ones from ESML are used.
This must than be used in #22

AP certificate renew process

Hello Philip,

I've got a question about the process for renew a Peppol AP certificate. I know it's not related to this project, but I think you could help me.
We have asked for renew our AP certificate to Thomas Gundel and we have received a new one, but with different AP name in certificate CN.

Is the expected behaviour in Peppol to create a new AP when you renew AP certificate? It also involves to change in our SMP all service groups to use the new AP. It won't be easy to just get a new certificate with the same AP id in the common name?

I know this question is not related to your smp server, so if you consider it spam, please close it.

Thank you very much!

'Connected to SML' toggle button in the UI

This button would set the sml.active property to true/false. There could also be a textfield next to it to write the sml.url.

Upon activating the toggle, the smp-server would update changes to the smp indicated in the textfield. The field would be grayed-out and inactive.

Upon deactivating the toggle, the text field would become active. This means that in order to change SML you'd have to disconnect first.

Thanks!

Configuration parameter for domain name

It would be useful to have a parameter in the configuration files to specify the FQDM where the server should be hosted, to avoid forcing it in a proxy configuration

Docker image improvements

  • vi should be included
  • it would be nice if there was a manager.xml that allowed any remote IP address to administer Tomcat

Import tool not registering in SML

Hi,
When using the import tool for service groups the participants does not get registered in SML. Tested on SMK (acc.edelivery.tech.ec.europa.eu)

Version peppol-smp-server 5.0.2

Steps to reproduce:
Register a particpant in SMK
Export service groups
Delete participant from service groups
Import service groups
No hit using tool: https://peppol.helger.com/public/locale-en_US/menuitem-tools-participant

Extra steps:
Adding another participant manually
New participant searchable with tool: https://peppol.helger.com/public/locale-en_US/menuitem-tools-participant

SML 3.0 specific error messages

Such as:

Error creating the new SMP ServiceGroup for participant 'conf-test::9915:sg1'. Technical details: Could not create business conf-test::9915:sg1 in SML - [ERR-106] The Scheme Identifier MUST take the form -- such as for example 'busdox-actorid-upis'. It may only contain the following characters: [a-z], [A-Z], [0-9], [-]

Error inviking ph AJAX function! No such data tables ID: start

I have deployed the application on a Tomcat server under domain.name/smp-pilot with a proxy using a subdomain at webroot. Here is the configuration our network-magician has put together to make the proxy work:

<VirtualHost *:80>
...
    ProxyPass "/public"         "http://domain.name/smp-pilot/public"
    ProxyPass "/stream"         "http://domain.name/smp-pilot/stream"
    ProxyPass "/css"    "http://domain.name/smp-pilot/css"
    ProxyPass "/js"     "http://domain.name/smp-pilot/js"
    ProxyPass "/publicajax"     "http://domain.name/smp-pilot/publicajax"
    ProxyPassMatch "^(/.*)$"    "http://domain.name/smp-pilot$1"
    ProxyPassReverse "/public"  "http://domain.name/public"
    ProxyPassReverse "/stream"  "http://domain.name/stream"
    ProxyPassReverse "/css"     "http://domain.name/css"
    ProxyPassReverse "/js"      "http://domain.name/js"
    ProxyPassReverse "/publicajax"      "http://domain.name/publicajax"
    ProxyPassReverse "/"        "http://domain.name/smp-pilot/"

    ProxyPassReverseCookieDomain  "domain.name"  "smp-pilot.other-domain.name"
    ProxyPassReverseCookiePath  "/"  "/smp-pilot/"

...
</VirtualHost>

When I access the webpage, I get a pop-box that reads Error inviking ph AJAX function! No such data tables ID: start. This does not occur when I deploy the application on at webroot on my local machine.

I am using the XML backend with smp.forceroot = true on 4.0.3 (2015-11-09)

Clicking a user's usergroup should display the usergroup

On the menuitem-admin_security_user page, User management, clicking on anything that belongs to a user takes the visitor to the user's view page. When clicking the user's usergroup, the visitor should be taken to the usergroup's view page.

Technical error on SML connection

Maybe because Metro is part of Tomcat??

[2016-10-18T16:19:52,264] [SMP-SERVER] [ERROR] [ajp-nio-127.0.0.1-8009-exec-13] Could not create business XXX in SML -- com.helger.peppol.smpserver.smlhook.RegistrationHookWriteToSML.createServiceGroup(RegistrationHookWriteToSML.java:159)
javax.xml.ws.WebServiceException: com.sun.xml.ws.util.ServiceConfigurationError: com.sun.xml.ws.api.policy.PolicyResolverFactory: Provider com.sun.xml.ws.policy.parser.WsitPolicyResolverFactory is specified in jar:file:/data0/web/tomcat/lib/webservices-rt.jar!/META-INF/services/com.sun.xml.ws.api.policy.PolicyResolverFactorybut could not be instantiated: java.lang.ClassCastException: Cannot cast com.sun.xml.ws.policy.parser.WsitPolicyResolverFactory to com.sun.xml.ws.api.policy.PolicyResolverFactory
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:367) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:320) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:229) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:211) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:207) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:112) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at javax.xml.ws.Service.<init>(Service.java:92) ~[?:2.2.0-1]
    at com.helger.peppol.smlclient.participant.ManageBusinessIdentifierService.<init>(ManageBusinessIdentifierService.java:40) ~[peppol-sml-client-5.1.5-SNAPSHOT.jar:5.1.5-SNAPSHOT]
    at com.helger.peppol.smlclient.ManageParticipantIdentifierServiceCaller.createWSPort(ManageParticipantIdentifierServiceCaller.java:123) ~[peppol-sml-client-5.1.5-SNAPSHOT.jar:5.1.5-SNAPSHOT]
    at com.helger.peppol.smlclient.ManageParticipantIdentifierServiceCaller.create(ManageParticipantIdentifierServiceCaller.java:193) ~[peppol-sml-client-5.1.5-SNAPSHOT.jar:5.1.5-SNAPSHOT]
    at com.helger.peppol.smlclient.ManageParticipantIdentifierServiceCaller.create(ManageParticipantIdentifierServiceCaller.java:158) ~[peppol-sml-client-5.1.5-SNAPSHOT.jar:5.1.5-SNAPSHOT]
    at com.helger.peppol.smpserver.smlhook.RegistrationHookWriteToSML.createServiceGroup(RegistrationHookWriteToSML.java:147) [peppol-smp-server-library-5.0.0-SNAPSHOT.jar:5.0.0-SNAPSHOT]
    at com.helger.peppol.smpserver.data.xml.mgr.XMLServiceGroupManager.createSMPServiceGroup(XMLServiceGroupManager.java:87) [peppol-smp-server-xml-5.0.0-SNAPSHOT.jar:5.0.0-SNAPSHOT]
    at com.helger.peppol.smpserver.data.xml.mgr.XMLServiceGroupManager.createSMPServiceGroup(XMLServiceGroupManager.java:51) [peppol-smp-server-xml-5.0.0-SNAPSHOT.jar:5.0.0-SNAPSHOT]
    at com.helger.peppol.smpserver.ui.secure.PageSecureServiceGroups.validateAndSaveInputParameters(PageSecureServiceGroups.java:403) [classes/:?]
    at com.helger.peppol.smpserver.ui.secure.PageSecureServiceGroups.validateAndSaveInputParameters(PageSecureServiceGroups.java:96) [classes/:?]
    at com.helger.photon.uicore.page.AbstractWebPageForm.fillContent(AbstractWebPageForm.java:1213) [ph-oton-uicore-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.uicore.page.AbstractWebPage.getContent(AbstractWebPage.java:156) [ph-oton-uicore-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.peppol.smpserver.ui.pub.SMPRendererPublic.getPageContent(SMPRendererPublic.java:231) [classes/:?]
    at com.helger.peppol.smpserver.ui.secure.SMPRendererSecure.getContent(SMPRendererSecure.java:148) [classes/:?]
    at com.helger.peppol.smpserver.ui.secure.SMPRendererSecure.getContent(SMPRendererSecure.java:65) [classes/:?]
    at com.helger.photon.core.app.layout.LayoutManagerProxy.getContentOfArea(LayoutManagerProxy.java:84) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.app.layout.ApplicationLayoutManager.getContentOfArea(ApplicationLayoutManager.java:82) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.app.layout.AbstractLayoutManagerBasedLayoutHTMLProvider.getContentOfArea(AbstractLayoutManagerBasedLayoutHTMLProvider.java:65) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.app.layout.AbstractLayoutHTMLProvider.fillBody(AbstractLayoutHTMLProvider.java:167) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.app.html.AbstractHTMLProvider.createHTML(AbstractHTMLProvider.java:212) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.app.html.PhotonHTMLHelper.createHTMLResponse(PhotonHTMLHelper.java:114) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.servlet.AbstractApplicationServlet.handleRequest(AbstractApplicationServlet.java:162) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.servlet.AbstractUnifiedResponseServlet._run(AbstractUnifiedResponseServlet.java:522) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.photon.core.servlet.AbstractUnifiedResponseServlet.onPost(AbstractUnifiedResponseServlet.java:612) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at com.helger.web.servlets.scope.AbstractScopeAwareHttpServlet.doPost(AbstractScopeAwareHttpServlet.java:371) [ph-web-8.6.2.jar:8.6.2]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) [servlet-api.jar:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.29]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.29]
    at com.helger.web.servlets.scope.AbstractScopeAwareFilter.doFilter(AbstractScopeAwareFilter.java:128) [ph-web-8.6.2.jar:8.6.2]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.29]
    at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:537) [jersey-container-servlet-core-2.23.1.jar:?]
    at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:524) [jersey-container-servlet-core-2.23.1.jar:?]
    at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:461) [jersey-container-servlet-core-2.23.1.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.29]
    at com.helger.photon.core.servlet.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:116) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.29]
    at com.helger.photon.core.servlet.HttpoxyFilter.doFilter(HttpoxyFilter.java:62) [ph-oton-core-7.0.0-b3.jar:7.0.0-b3]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.29]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [catalina.jar:8.0.29]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.29]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:8.0.29]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [catalina.jar:8.0.29]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.29]
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) [catalina.jar:8.0.29]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.29]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) [catalina.jar:8.0.29]
    at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:850) [tomcat-coyote.jar:8.0.29]
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) [tomcat-coyote.jar:8.0.29]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-coyote.jar:8.0.29]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) [tomcat-coyote.jar:8.0.29]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_66]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_66]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.29]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
Caused by: com.sun.xml.ws.util.ServiceConfigurationError: com.sun.xml.ws.api.policy.PolicyResolverFactory: Provider com.sun.xml.ws.policy.parser.WsitPolicyResolverFactory is specified in jar:file:/data0/web/tomcat/lib/webservices-rt.jar!/META-INF/services/com.sun.xml.ws.api.policy.PolicyResolverFactorybut could not be instantiated: java.lang.ClassCastException: Cannot cast com.sun.xml.ws.policy.parser.WsitPolicyResolverFactory to com.sun.xml.ws.api.policy.PolicyResolverFactory
    at com.sun.xml.ws.util.ServiceFinder.fail(ServiceFinder.java:278) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.util.ServiceFinder.access$600(ServiceFinder.java:153) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.util.ServiceFinder$LazyIterator.next(ServiceFinder.java:527) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.util.ServiceFinder$CompositeIterator.next(ServiceFinder.java:422) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.api.policy.PolicyResolverFactory.create(PolicyResolverFactory.java:61) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:162) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:358) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    ... 67 more
Caused by: java.lang.ClassCastException: Cannot cast com.sun.xml.ws.policy.parser.WsitPolicyResolverFactory to com.sun.xml.ws.api.policy.PolicyResolverFactory
    at java.lang.Class.cast(Class.java:3369) ~[?:1.8.0_66]
    at com.sun.xml.ws.util.ServiceFinder$LazyIterator.next(ServiceFinder.java:523) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.util.ServiceFinder$CompositeIterator.next(ServiceFinder.java:422) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.api.policy.PolicyResolverFactory.create(PolicyResolverFactory.java:61) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:162) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:358) ~[jaxws-rt-2.2.9-b14002.jar:2.2.1-1]
    ... 67 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.