cancel
Showing results for 
Search instead for 
Did you mean: 

Interop: Alfresco and Sharepoint Server 2010

dkircheis
Champ in-the-making
Champ in-the-making
My attempt to connect to: http://<myhost>/alfresco/wsdl/CMISWS-Service.wsdl
from sharepoint consumer gave me this error:

Error message:
There was no endpoint listening at http://cmis/services/RepositoryService.RepositoryServicePort that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

I assume that the Sharepoint consumer web part can be used with any CMIS compliant repository. If so, is there a standard for the endpoint (WSDL address) across all repositories?
6 REPLIES 6

gclaussn
Champ in-the-making
Champ in-the-making
hi,

the WSDL Documents can be found under http://<host>:<port>/alfresco/cmis
The link can also be found within the Alfresco CMIS service site: http://<host>:<port>/alfresco/service/cmis/index.html

best regards,
gclaussn

dkircheis
Champ in-the-making
Champ in-the-making
Hi, Yes, we tried several of those WSDLs as well with the sharepoint client to no avail - sharepoint throws parse errors.

thoberre
Champ in-the-making
Champ in-the-making
I second this question, I have trouble getting the SharePoint 2010 CMIS Consumer WebPart to talk to an Alfresco repository.

I'm getting SP2010 Consumer to talk to another SP2010 Producer by pointing to http://<servername>/_vti_bin/cmissoapwsdl.aspx.

I have tried all possible Alfresco WDSL paths, and to me the closest match to the xml file produced by cmissoapwsdl.aspx in SP2010 is http://<servername>/alfresco/wsdl/CMISWS-Service.wsdl (or possibly supposed to use Alfresco-CMISWS-Service.wsdl with the import of CMISWS-Service.wsdl). However that seems to be a direct copy of the files from the CMIS spesifications since the URLs for the serviceports seems incomplete:

SP2010 service definition example from cmissoapwsdl.aspx:

  <service name="RepositoryService">
    <port name="RepositoryServicePort" binding="cmisw:RepositoryServicePortBinding">
      <soap:address location="http://<server>/_vti_bin/cmis/soap/RepositoryService.svc/ntlm" />
    </port>
  </service>

Alfresco service definition example from CMISWS-Service.wsdl:

  <service name="RepositoryService">
    <port name="RepositoryServicePort" binding="cmisw:RepositoryServicePortBinding">
      <soap:address location="http://cmis/services/RepositoryService.RepositoryServicePort" />
    </port>
  </service>


Which I for fun changed to what I would think was correct based on comparisons with the SP2010 Producer:

  <service name="RepositoryService">
    <port name="RepositoryServicePort" binding="cmisw:RepositoryServicePortBinding">
      <soap:address location="http://<server>:8080/alfresco/cmis/RepositoryService" />
    </port>
  </service>

However I just get WSDL not available error messages.
When I changed to ?wsdl on the end of the service address locations I get one step further, but are not able to authenticate:

  <service name="RepositoryService">
    <port name="RepositoryServicePort" binding="cmisw:RepositoryServicePortBinding">
      <soap:address location="http://<server>:8080/alfresco/cmis/RepositoryService?wsdl" />
    </port>
  </service>

I get the SP2010 dialogue to enter user name and password, and enter correct u/p for my Alfresco installation SP2010 throws "The username cannot be empty." The u/p are not empty, and I'm not sure if it's a Alfresco server message or a SP2010 message.

Unfortunately I have no clue what I am doing, so help from the guys familiar with this  would be much appreciated. Any pointers to further investigate or solve this?

Even to verify that this is correct procedure up to this point would help as I am cross posing this to the MS SharePoint community ot see if there is any help there as well.


Thom

thoberre
Champ in-the-making
Champ in-the-making
I can add that Alfresco gets this from SP2010:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
   <s:Header>
      <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <u:Timestamp u:Id="_0">
            <u:Created>2010-07-26T09:21:15.444Z</u:Created>
            <u:Expires>2010-07-26T09:26:15.444Z</u:Expires>
         </u:Timestamp>
         <o:UsernameToken u:Id="uuid-2acf690f-4d18-4460-9d5b-1b665d11d45e-6">
            <o:Username><-username-></o:Username>
            <o:Password><-password-></o:Password>
         </o:UsernameToken>
      </o:Security>
   </s:Header>
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <getRepositories xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
         <extension xsi:nil="true" />
      </getRepositories>
   </s:Body>
</s:Envelope>

Where the response from Alfresco is:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header>
      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsu:Timestamp wsu:Id="Timestamp-752972599" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsu:Created>2010-07-26T09:25:24.852Z</wsu:Created>
            <wsu:Expires>2010-07-26T09:30:24.852Z</wsu:Expires>
         </wsu:Timestamp>
      </wsse:Security>
   </soap:Header>
   <soap:Body>
      <soap:Fault>
         <faultcode xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">ns1:FailedAuthentication</faultcode>
         <faultstring>The security token could not be authenticated or authorized</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

thoberre
Champ in-the-making
Champ in-the-making
Another addition:

It looks like it would work (tested from SoapUI) if Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" was added to the password part of the message from SP2010.

So instead of


<o:Password>password</o:Password>

it would send


<o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>

Now I'm not that into the specs to know what is correct - SP to send like that or Alfresco to not accept the missing type (should not PasswordText be the default?). Anyone have views on this?

Best regards
Thom

david_matheson
Champ in-the-making
Champ in-the-making
Was this ever resolved?  I'm having trouble getting SharePoint 2010 CMIS Consumer to even send any authentication header, regardless of what I select for WS-Security in the web part configuration.  Regardless, it fails trying to connect to my Documentum CMIS services.