Build Issues

Sep 18, 2007 at 4:20 PM
Edited Sep 18, 2007 at 4:51 PM
After reinstalling all the base Microsoft packages required, I got it to build... This entry can be deleted if you want.. I will proceed with getting it all up and running..

Thanks
Sep 19, 2007 at 4:22 PM
Using the "XDS.b Reference Implementation Build and Deployment Guide" I followed all the steps to get the services installed on my local computer. I ran into some issues and the "Provide and Register Document Set" command failed with an error about not being able to connect to the SQL Server database. Here is the issues I ran into, maybe this will help isolate the problem.

Page 3 of the install guide (XDSRepositoryService Configuration Changes)
When navigating to the specified target folder <source>\WindowsServices\XDSRepositoryServiceHost" there are not files in that folder (no App.config). There are only two folders "XDSRepositoryServiceHost" and "XDSRepositoryServiceHostSetup". I went to the "XDSRepositoryServiceHost" folder and edited the App.config that was located there and continued. But this needs to be changed in the docs to show the actual folder that contains the App.config.

Page 3 of the install guide (XDSRepositoryService Connection String)
The node specified did not start with "<add name="ConnectionString"" if found "<add name="XDSRepository" connectionString=""
So, I made the changed to this node as specified in the guide. This also brought up a point of the SQL Server access.. I did not see in the Guide where any new user was created for MS SQL Server or any rights to access SQL server by the XDSAdmin user. Is a new SQL Server user suppose to be created? How do the XDS services get rights to access SQL Server?

Everything seemed to go fine and both the "Smoke Tests" passed and I was able to view the pages for both the repository and registry in my browser.

But when I executed the XdsbServicesInstall.bat from the VS 2005 command prompt the Repository failed to install but the Registry did install. All the install and commit phases said they completed successfully.. but at the end I got this..

=========================
The Commit phase completed successfully.

The transacted install has completed.
The XDS.b Document Repository Service service is starting........
The XDS.b Document Repository Service service could not be started.

The service did not report an error.

More help is available by typing NET HELPMSG 3534.

The XDS.b Document Registry Service service is starting.
The XDS.b Document Registry Service service was started successfully.
================================

When I tried to perform the "Provide and Register Document Set" I get the following error: (I do have "allow remote connections" enabled")

<s:Fault xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Code><s:Value>s:Receiver</s:Value><s:Subcode><s:Value xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</s:Value></s:Subcode></s:Code><s:Reason><s:Text xml:lang="en-US">An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)</s:Text></s:Reason><s:Detail><ExceptionDetail xmlns="http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><HelpLink i:nil="true" /><InnerException i:nil="true" /><Message>An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)</Message><StackTrace>at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)at System.Data.SqlClient.SqlConnection.Open()at Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection()at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DbCommand command)at Microsoft.IHE.XDS.DataAccess.RepositoryDataAccess.LogRepositoryData(DocumentRepositoryLog objDocumentRepositoryLog) in C:\RealMedProjects\HL7\IHE\IHENET\Version1\DataAccess\Repository\RepositoryDataAccess.cs:line 113at Microsoft.IHE.XDS.BusinessLogic.RepositoryLogic.LogRepositoryData(DocumentRepositoryLog objDocumentRepositoryLog) in C:\RealMedProjects\HL7\IHE\IHENET\Version1\BusinessLogic\Repository\RepositoryLogic.cs:line 213at Microsoft.IHE.XDS.DocumentRepository.DocumentRepositoryService.LogRolledBackData(DocumentRepositoryLog objDocumentRepositoryLog, String errorCode) in C:\RealMedProjects\HL7\IHE\IHENET\Version1\IHE\RepositoryProfile\DocumentRepositoryService.cs:line 700at Microsoft.IHE.XDS.DocumentRepository.DocumentRepositoryService.Microsoft.IHE.XDS.DocumentRepository.IDocumentRepository.ProvideAndRegisterDocumentSet(Message msgInput) in C:\RealMedProjects\HL7\IHE\IHENET\Version1\IHE\RepositoryProfile\DocumentRepositoryService.cs:line 185at SyncInvokeProvideAndRegisterDocumentSet(Object , Object[], Object[])at System.ServiceModel.Dispatcher.InvokeDelegate.Invoke(Object target, Object[]inputs, Object[]outputs)at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[]inputs, Object[]&outputs)at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&rpc)at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</StackTrace><Type>System.Data.SqlClient.SqlException</Type></ExceptionDetail></s:Detail></s:Fault>

Any ideas?.

Thanks
Sep 19, 2007 at 4:34 PM
After I ran the XDSbServicesUninstall.bat and then tried to run the XDSbServicesInstall.bat again, all phases were successful. But I still get the fault error from the test client when I try to "Provide and Register Document Set".

Also, I am running MS SQL Server Express if that makes any difference..

Thanks
Sep 20, 2007 at 2:53 PM
Status Update: I removed all the SQL Express stuff off my system and installed MS SQL Server and ran the scripts to build the databases again.. Also turned on remote connections. This got me allot farther. No database errors and the service is responding. But it know gives me the message below. At this point I am stumped on what to do until I here here from someone who knows why I am getting a message that says my service does not support a required capability..

Thanks, here is the current response from my latest attempt at the "Provide and Register Document"

<tns:RegistryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure" xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"><tns:RegistryErrorList highestServer="Highest SeverityURI"><tns:RegistryError codeContext="Indicates that this registry did not support the capability required to service the request." errorCode="UnsupportedCapabilityException" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"></tns:RegistryError></tns:RegistryErrorList></tns:RegistryResponse>
Sep 20, 2007 at 3:15 PM
I ran all the tests with the following results:

Provide and Register Document Set - b (FAILED)

<tns:RegistryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure" xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"><tns:RegistryErrorList highestServer="Highest SeverityURI"><tns:RegistryError codeContext="Indicates that this registry did not support the capability required to service the request." errorCode="UnsupportedCapabilityException" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"></tns:RegistryError></tns:RegistryErrorList></tns:RegistryResponse>

Register Document Set = b (PASSED)

<RegistryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" />

Stored Query (PASSED) - But didnt' return any documents since the "Provide and Register Document" Failed

<AdhocQueryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><rim:RegistryObjectList /></AdhocQueryResponse>

Retrieve Document Set (FAILED) - I expected this to fail with a "no document" error, and it did, but it also said that the Doc03 existed in metadata.. so ????

<RetrieveDocumentResponse xmlns="urn:ihe:iti:xds-b:2007"><tns:RegistryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure" xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"><tns:RegistryErrorList highestServer="Highest SeverityURI"><tns:RegistryError codeContext="XDSUnknownRepositoryUniqueID" errorCode="XDSDocumentEntry Doc03 exists in metadata with no corresponding attached document" severity="Error" location="Doc03" /></tns:RegistryErrorList></tns:RegistryResponse></RetrieveDocumentResponse>
Sep 20, 2007 at 7:32 PM
I added some event logging and isolated the error down to the failure in the file

if (!IsMimeTypeBelongstoAffinityDomain(newDoc.MimeType))

in RegsitryLogic.cs


The newDoc.MimeType that it's failing on is "image/jpeg"
Sep 20, 2007 at 8:29 PM
It's Working! There is a missing database entry that allows "image/jpeg" to be registered.. I fixed it by adding the entry using the SQL statement in SQL Server Manager

insert into dbo.CodeValue (code,displayName,codeTypeID) VALUES ('image/jpeg','image/jpeg',5)

Someone needs to make this part of the Database SQL build script..

Well, thanks for everyone's help on this.. :) (ECHO!, echo!... )
Developer
Dec 3, 2007 at 4:27 AM
Oh man!!!

Sorry about you have to go about all that trouble without help Mark. We are so deep in the Pre Connectathon Test Season, that I didn't have time to come here in ages. I will try to keep an eye on the discussions at least once a week from now on.

Cheers, Wagner.