BDXRClientReadOnly extends AbstractGenericSMPClient <BDXRClientReadOnly> implements
                                IBDXRServiceGroupProvider,
                                IBDXRServiceMetadataProvider { @Nullable public ServiceGroupType getServiceGroupOrNull (@Nonnull final IParticipantIdentifier aServiceGroupID) throws SMPClientException { try { return getServiceGroup (aServiceGroupID); } catch (final SMPClientNotFoundException ex) { if (LOGGER.isDebugEnabled ()) LOGGER.debug ("Found no ServiceGroup"); return null; } } BDXRClientReadOnly(@Nonnull final ISMPURLProvider aURLProvider,
                             @Nonnull final IParticipantIdentifier aParticipantIdentifier,
                             @Nonnull final ISMLInfo aSMLInfo);  BDXRClientReadOnly(@Nonnull final ISMPURLProvider aURLProvider,
                             @Nonnull final IParticipantIdentifier aParticipantIdentifier,
                             @Nonnull @Nonempty final String sSMLZoneName);  BDXRClientReadOnly(@Nonnull final URI aSMPHost); @Nonnull ServiceGroupType getServiceGroup(@Nonnull final IParticipantIdentifier aServiceGroupID); @Nullable ServiceGroupType getServiceGroupOrNull(@Nonnull final IParticipantIdentifier aServiceGroupID); @Nonnull static ICommonsList <IDocumentTypeIdentifier> getAllDocumentTypes(@Nullable final ServiceGroupType aSG,
                                                                            @Nonnull final IIdentifierFactory aIdentifierFactory,
                                                                            @Nullable final Consumer <String> aUnhandledHrefHandler); @Nonnull SignedServiceMetadataType getServiceMetadata(@Nonnull final IParticipantIdentifier aServiceGroupID,
                                                       @Nonnull final IDocumentTypeIdentifier aDocumentTypeID); @Nullable SignedServiceMetadataType getServiceMetadataOrNull(@Nonnull final IParticipantIdentifier aServiceGroupID,
                                                             @Nonnull final IDocumentTypeIdentifier aDocumentTypeID); @Nullable static EndpointType getEndpoint(@Nonnull final SignedServiceMetadataType aSignedServiceMetadata,
                                          @Nonnull final IProcessIdentifier aProcessID,
                                          @Nonnull final ISMPTransportProfile aTransportProfile); @Nullable static String getEndpointAddress(@Nullable final EndpointType aEndpoint); @Nullable static byte [] getEndpointCertificateBytes(@Nullable final EndpointType aEndpoint); @Nullable static X509Certificate getEndpointCertificate(@Nullable final EndpointType aEndpoint); @Nullable static X509Certificate getEndpointCertificateOrNull(@Nullable final EndpointType aEndpoint); @Nonnull static ServiceGroupType getServiceGroupByDNS(@Nonnull final ISMPURLProvider aURLProvider,
                                                       @Nonnull final ISMLInfo aSMLInfo,
                                                       @Nonnull final IParticipantIdentifier aServiceGroupID); @Nonnull static SignedServiceMetadataType getServiceRegistrationByDNS(@Nonnull final ISMPURLProvider aURLProvider,
                                                                       @Nonnull final ISMLInfo aSMLInfo,
                                                                       @Nonnull final IParticipantIdentifier aServiceGroupID,
                                                                       @Nonnull final IDocumentTypeIdentifier aDocumentTypeID); static final String URL_PART_SERVICES; }
@Test public void testGetBDXRHostURI_Peppol_WithBOM () throws SMPClientException, SMPDNSResolutionException { final IParticipantIdentifier aPI = PeppolIdentifierFactory.INSTANCE.createParticipantIdentifierWithDefaultScheme ("9917:5504033150"); final BDXRClientReadOnly aBDXRClient = new BDXRClientReadOnly (PeppolURLProvider.INSTANCE, aPI, ESML.DIGIT_PRODUCTION); assertEquals ("http: aBDXRClient.getSMPHostURI ()); try { aBDXRClient.getServiceGroupOrNull (aPI); fail (); } catch (final SMPClientBadResponseException ex) { } }